Premiers pas avec Streamlit in Snowflake¶
Cette rubrique décrit comment créer et exécuter votre première application Streamlit in Snowflake.
Conditions préalables¶
Avant de pouvoir créer une application Streamlit, assurez-vous que votre administrateur a effectué la configuration de sécurité essentielle pour les applications Streamlit.
Votre rôle doit disposer des privilèges suivants :
Privilège |
Objet |
Remarques |
|---|---|---|
USAGE |
Base de données dans laquelle vous créez l’application Streamlit |
|
CREATE STREAMLIT,
USAGE
|
Schéma dans lequel vous créez l’application Streamlit |
|
USAGE |
Entrepôt qui exécute des requêtes dans l’application Streamlit |
Pour les applications exécutées dans l’environnement d’entrepôt, l’entrepôt prend aussi en charge l’exécution du code Python de l’application. |
USAGE |
Pool de calcul qui exécute l’application Streamlit |
Ce privilège n’est requis que si votre application utilise un Container Runtime (avant-première). |
Pour plus d’informations, voir Privilèges requis pour créer et utiliser une application Streamlit.
Déployer votre première application Streamlit in Snowflake¶
La façon la plus rapide de démarrer est de créer une application Streamlit en utilisant les fichiers d’application par défaut. Snowflake fournit automatiquement un code de démarrage lorsque vous créez une application sans spécifier de fichiers sources.
Connectez-vous à Snowsight.
Dans le menu de navigation, sélectionnez Projects » Streamlit.
Sélectionnez + Streamlit App.
Saisissez un nom pour votre application.
Sélectionnez une base de données et un schéma dans lesquels créer votre application.
Configurez votre application.
Pour créer une application de Container Runtime (avant-première), sélectionnez les options suivantes :
Sélectionnez Run on container.
Sélectionnez un pool de calcul sur lequel exécuter votre application. De préférence, il doit s’agir d’un pool de calcul dédié à l’exécution des applications Streamlit.
Sélectionnez un entrepôt de requêtes sur lequel exécuter les requêtes de votre application.
Pour créer une application d’exécution d’entrepôt, sélectionnez les options suivantes :
Sélectionnez Run on warehouse.
Sélectionnez un entrepôt sur lequel exécuter votre application. De préférence, il doit s’agir d’un entrepôt dédié à l’exécution des applications Streamlit.
Sélectionnez Create.
Snowflake crée une nouvelle application Streamlit avec un exemple de code. Snowsight vous redirige vers l’éditeur d’applications. Votre application sera prête en quelques secondes à quelques minutes, selon le type d’exécution. Ensuite, vous pouvez la consulter et la modifier sur le champ.
Lors de l’utilisation de votre base de données et de votre schéma privilégiés dans une session SQL, exécutez les commandes SQL suivantes :
Créez un objet Streamlit par défaut.
Pour créer une application Container Runtime (avant-première) :
CREATE STREAMLIT my_first_app RUNTIME_NAME = 'SYSTEM$ST_CONTAINER_RUNTIME_PY3_11' COMPUTE_POOL = my_compute_pool QUERY_WAREHOUSE = my_warehouse;
Pour créer une application d’exécution d’entrepôt :
CREATE STREAMLIT my_first_app QUERY_WAREHOUSE = my_warehouse;
Ces commandes créent une application Streamlit nommée
my_first_appavec un code de démarrage par défaut.Mettez l’application en production :
ALTER STREAMLIT my_first_app ADD LIVE VERSION FROM LAST;
Comme les objets Streamlit utilisent des zones de préparation versionnées, vous devez envoyer le code de votre application vers l’emplacement de la version en ligne avant qu’un utilisateur disposant uniquement du privilège USAGE sur l’objet Streamlit puisse la voir.
Pour voir votre application, connectez-vous à Snowsight.
Dans le menu de navigation, sélectionnez Projects » Streamlit, puis sélectionnez votre application.
Note
Snowflake CLI version 3.14.0 ou ultérieure est requise. La version 3.14+ utilise par défaut la syntaxe moderne CREATE STREAMLIT.
Initialisez un nouveau projet Streamlit :
snow init my_first_app --template example_streamlit
Accédez au répertoire du projet :
cd my_first_app
Configurez votre application en modifiant le fichier:file:
snowflake.yml.Pour créer une application Container Runtime (avant-première), ajoutez
compute_pooletruntime_name:definition_version: 2 entities: my_streamlit: type: streamlit identifier: my_first_app query_warehouse: my_warehouse compute_pool: my_compute_pool runtime_name: SYSTEM$ST_CONTAINER_RUNTIME_PY3_11 main_file: streamlit_app.py artifacts: - streamlit_app.py
Pour créer une application d’exécution d’entrepôt, utilisez la configuration par défaut :
definition_version: 2 entities: my_streamlit: type: streamlit identifier: my_first_app query_warehouse: my_warehouse main_file: streamlit_app.py artifacts: - streamlit_app.py
Enregistrez votre fichier
snowflake.yml.Déployez l’application dans Snowflake et ouvrez-la dans votre navigateur :
snow streamlit deploy --open
Modifier votre application¶
Pour plus d’informations sur comment apporter des modifications à votre application, voir Modification d’une application Streamlit déployée.
Après avoir créé votre application, vous pouvez modifier le code pour la personnaliser :
Connectez-vous à Snowsight.
Dans le menu de navigation, sélectionnez Projects » Streamlit, puis sélectionnez votre application.
Pour ouvrir l’éditeur, sélectionnez Edit.
Dans le volet de l’éditeur, modifiez le code dans le fichier
streamlit_app.py.Sélectionnez Run pour voir vos modifications.
Si vous avez un ou plusieurs fichiers d’application modifiés sur une zone de préparation, vous pouvez utiliser COPY FILES pour les copier dans l’emplacement source de votre application, à l’aide des commandes suivantes :
Identifiez l’emplacement source de votre application :
DESCRIBE STREAMLIT my_first_app;
La valeur
live_version_location_uriest l’emplacement source de votre application. Copiez-la dans un bloc-note pour l’utiliser à l’étape suivante. Il s’agit d’une URL Snow (snow://).Copiez les fichiers d’une zone de préparation interne vers l’emplacement source de votre application :
COPY FILES INTO '<live_version_location_uri>' FROM @my_stage FILES = ('streamlit_app.py');
Note
Snowflake CLI version 3.14.0 ou ultérieure est requise. La version 3.14+ utilise par défaut la syntaxe moderne CREATE STREAMLIT.
Dans votre répertoire local, modifiez et enregistrez le fichier
streamlit_app.pydans le répertoire de votre projet local.Déployez vos modifications dans Snowflake :
snow streamlit deploy --replace
Cette opération remplacera l’intégralité de votre application par la nouvelle version.
Quelle est la prochaine étape ?¶
Maintenant que vous avez créé votre première application, explorez ces rubriques pour en apprendre davantage :
Gérer les dépendances de votre application Streamlit : Ajoutez des paquets Python à votre application.
Accès au réseau externe dans Streamlit in Snowflake : Connectez votre application à des services externes.