Créer une appli Streamlit¶
Conditions préalables¶
Avant de créer une appli Streamlit via Snowflake CLI, vous devez remplir les conditions préalables suivantes :
Assurez-vous que votre compte dispose des privilèges appropriés, comme décrit dans Privilèges requis pour créer et utiliser une application Streamlit.
Assurez-vous que vous pouvez créer ou avoir accès à une zone de préparation nommée où vous pouvez charger les fichiers de l’application Streamlit.
Démarrer une application Streamlit¶
La commande snow init
crée un répertoire local contenant un ensemble de fichiers d’exemple qui vous aideront à créer une appli Streamlit. Lorsque vous exécutez cette commande, Snowflake CLI crée la structure de répertoire suivante :
example_streamlit/ - project name (default: example_streamlit)
snowflake.yml - configuration for snow streamlit commands
environment.yml - additional config for Streamlit, for example installing packages
streamlit_app.py - entrypoint file of the app
pages/ - directory name for Streamlit pages (default pages)
common/ - example “shared library”
Pour initialiser une appli Streamlit, entrez la commande suivante :
snow init new_streamlit_project --template example_streamlit -D query_warehouse=dev_warehouse -D stage=testing
Prudence
Les fichiers se trouvant dans le répertoire d’un projet sont traités par Snowflake CLI et peuvent être téléchargés vers Snowflake lors de l’exécution d’autres commandes snow streamlit
. Vous devez faire preuve de prudence lorsque vous placez des informations sensibles dans les fichiers d’un répertoire de projet.
Pour plus d’informations sur la structure des fichiers, consultez Créer des fichiers Streamlit sur votre système de fichiers local.
Créer la définition du projet pour une appli Streamlit¶
Chaque appli Streamlit dans Snowflake doit inclure un fichier de définition de projet snowflake.yml
. Streamlit est limité à une application par fichier de définition de projet.
Vous trouverez ci-dessous un exemple de fichier de définition de projet snowflake.yml
:
definition_version: 2
entities:
my_streamlit:
type: streamlit
identifier: streamlit_app
stage: my_streamlit_stage
query_warehouse: my_streamlit_warehouse
main_file: streamlit_app.py
pages_dir: pages/
external_access_integrations:
- test_egress
secrets:
dummy_secret: "db.schema.dummy_secret"
imports:
- "@my_stage/foo.py"
artifacts:
- common/hello.py
- environment.yml
Le tableau suivant décrit les propriétés d’une définition de projet Streamlit.
Propriété |
Définition |
---|---|
identifier optional, string |
Identificateur Snowflake facultatif pour l’entité. La valeur peut avoir les formes suivantes :
|
type optional, string |
Doit être |
commentaire optional, string |
Commentaire pour le tableau de bord Streamlit. |
title optional, string |
Titre lisible par l’homme pour le tableau de bord Streamlit. |
stage optional, string |
Zone de préparation dans laquelle les artefacts de l’appli seront mis en préparation. La valeur par défaut est : aucun. |
query_warehouse required, string |
L’entrepôt de Snowflake pour héberger l’appli. |
main_file optional, string |
Fichier de point d’entrée de l’appli Streamlit. Valeur par défaut : « streamlit_app.py ». |
pages_dir optional, string |
Pages Streamlit. Valeur par défaut : « pages ». |
artifacts requis, séquence de chaînes |
Liste des fichiers à inclure dans les artefacts de déploiement. |