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 :

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
Copy

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
Copy

Le tableau suivant décrit les propriétés d’une définition de projet Streamlit.

Propriétés de définition du projet Streamlit

Propriété

Définition

identifier

optional, string

Identificateur Snowflake facultatif pour l’entité. La valeur peut avoir les formes suivantes :

  • Texte d’identificateur de chaîne

    identifer: my-streamlit-id
    
    Copy

    Les identificateurs entre guillemets et sans guillemets sont pris en charge. Pour utiliser des identificateurs entre guillemets, incluez les guillemets dans la valeur de YAML (par exemple, ’”Mon application Streamlit”’).

  • Objet

    identifer:
      name: my-streamlit-id
      schema: my-schema # optional
      database: my-db # optional
    
    Copy

    Note

    Une erreur se produit si vous spécifiez schema ou database et que vous utilisez un nom complet dans la propriété name (tel que mydb.schema1.my-app).

type

optional, string

Doit être streamlit.

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.