Exemple : Création d’un tableau de bord de données personnalisé¶
Cet exemple vous guide à travers la création d’une application Streamlit in Snowflake qui interroge les données Snowflake, ajoute une bibliothèque de graphiques tierce et personnalise l’affichage pour chaque lecteur. À la fin, vous maîtriserez le cycle de développement principal : création, déploiement, modification et redéploiement.
L’application utilise un runtime de conteneur. Avant de commencer, assurez-vous d’avoir rempli les conditions préalables.
Configurer des données d’échantillon¶
Cet exemple utilise une base de données appelée dashboard_demo. Vous pouvez remplacer n’importe quelle base de données et n’importe quel schéma auxquels vous avez accès – il suffit de mettre à jour les références dans le SQL et le code d’application pour qu’elles correspondent.
Créez une table avec des données d’échantillon sur les revenus. Exécutez le SQL suivant dans une feuille de calcul ou une session SQL :
Écrire le code de l’application¶
Sur votre machine locale, dans le répertoire de projet de votre choix, créez un fichier nommé streamlit_app.py avec le code suivant. Si vous prévoyez d’utiliser Snowsight, vous pouvez coller ce code dans l’éditeur après la création de l’application.
Cette application utilise :
conn.query()pour interroger des données de Snowflake. Les résultats sont automatiquement mis en cache, de sorte que la requête ne s’exécute qu’une seule fois jusqu’à l’expiration du cache. Pour plus d’informations, voir Gérer les secrets et configurer votre application Streamlit.st.user.user_namepour accueillir le lecteur en cours. Pour plus d’informations, voir Personnaliser l’application Streamlit avec des informations utilisateur.plotlypour les graphiques interactifs, qui est une dépendance externe que vous déclarez à l’étape suivante.
Déclarer les dépendances¶
Les runtimes de conteneur installent des paquets répertoriés dans un fichier requirements.txt. Créez un fichier requirements.txt à côté de votre streamlit_app.py :
Lorsque l’application démarre, le runtime de conteneur installe automatiquement les paquets déclarés. Pour des scénarios de dépendance plus complexes, vous pouvez utiliser un fichier pyproject.toml à la place. Pour plus d’informations, voir Gérer les dépendances de votre application Streamlit.
Déployer l’application¶
Connectez-vous à Snowsight.
Dans le menu de navigation, sélectionnez Projects » Streamlit.
Sélectionnez + Streamlit App.
Saisissez
revenue_dashboardcomme nom de l’application.Sélectionnez une base de données et un schéma.
Sélectionnez Run on container, puis sélectionnez un pool de calcul et un entrepôt de requêtes.
Sélectionnez Create.
Dans l’éditeur, remplacez le code de démarrage par le code d’application ci-dessus.
Importez ou créez le fichier
requirements.txten sélectionnant + (Ajouter) » Create new file, en saisissantrequirements.txtet en collant le contenu.Sélectionnez Run.
Mettez les fichiers de votre application en zone de préparation :
Créez l’application Streamlit :
Pour voir votre application, connectez-vous à Snowsight, puis dans le menu de navigation, sélectionnez Projects » Streamlit, et 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.
Créez un répertoire de projet avec la structure suivante :
Créez un fichier
snowflake.yml:Déployez l’application :
Apporter une modification¶
Essayez de modifier votre application pour voir le cycle de développement en action. Ajoutez une métrique récapitulative en insérant les deux lignes suivantes dans streamlit_app.py, entre la ligne filtered = ... et la ligne fig = px.bar(...) :
Si vous apportez les modifications depuis le navigateur, collez les lignes dans l’éditeur et sélectionnez Run.
Mettez le fichier mis à jour en zone de préparation, puis copiez-le à l’emplacement de la version active de votre application :
Enregistrez le fichier localement et redéployez-le :
Pour plus d’informations sur le workflow d’édition, voir Modifier votre application Streamlit.
Nettoyage¶
Pour supprimer les ressources créées dans cet exemple, exécutez la commande SQL suivante :
Quelle est la prochaine étape ?¶
Exemple : Créer un formulaire qui écrit dans Snowflake : Créez une application avec un formulaire qui réécrit les données dans Snowflake.
Personnaliser l’application Streamlit avec des informations utilisateur : En savoir plus sur la personnalisation des applications avec
st.user.Accès au réseau externe dans Streamlit in Snowflake : Connectez votre application à des APIs externes.