Erstellen einer Streamlit-App

Voraussetzungen

Bevor Sie eine Streamlit-App mit Snowflake CLI erstellen können, müssen die folgenden Voraussetzungen erfüllt sein:

Bootstrap für eine Streamlit-Anwendung

Der Befehl snow init erstellt ein lokales Verzeichnis mit einer Reihe von Beispieldateien, die Ihnen den Einstieg in das Erstellen einer Streamlit-App erleichtern. Wenn Sie diesen Befehl ausführen, erstellt Snowflake CLI die folgende Verzeichnisstruktur:

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”

Um eine Streamlit-App zu initialisieren, geben Sie den folgenden Befehl ein:

snow init new_streamlit_project --template example_streamlit -D query_warehouse=dev_warehouse -D stage=testing
Copy

Vorsicht

Dateien in einem Projektverzeichnis werden von Snowflake CLI verarbeitet und können beim Ausführen anderer snow streamlit-Befehle in Snowflake hochgeladen werden. Seien Sie vorsichtig, wenn Sie sensible Informationen in Dateien in einem Projektverzeichnis ablegen.

Weitere Informationen zur Dateistruktur finden Sie unter Erstellen Sie die Streamlit-Dateien auf Ihrem lokalen System.

Projektdefinition für eine Streamlit-App erstellen

Jede Streamlit-App in Snowflake muss eine snowflake.yml-Projektdefinitionsdatei enthalten. Streamlit ist auf eine Anwendung pro Projektdefinitionsdatei beschränkt.

Im Folgenden wird eine Beispiel für eine snowflake.yml-Projektdefinitionsdatei gezeigt:

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

Die folgende Tabelle beschreibt die Eigenschaften einer Streamlit-Projektdefinition.

Eigenschaften der Streamlit-Projektdefinition

Eigenschaft

Definition

Bezeichner

optional, string

Optionaler Snowflake-Bezeichner für die Entität. Der Wert kann die folgenden Formen annehmen:

  • Zeichenfolge Bezeichnertext

    identifier: my-streamlit-id
    
    Copy

    Es werden sowohl Bezeichner ohne Anführungszeichen als auch Bezeichner mit Anführungszeichen unterstützt. Um Bezeichner in Anführungszeichen zu verwenden, schließen Sie die umgebenden Anführungszeichen in den Wert YAML ein (z. B. '"My Streamlit Application"').

  • Objekt

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

    Bemerkung

    Es tritt ein Fehler auf, wenn Sie ein schema oder eine database angeben und einen vollqualifizierten Namen in der name-Eigenschaft verwenden (z.B. mydb.schema1.my-app).

type

optional, string

Muss streamlit sein.

comment

optional, string

Kommentar für das Streamlit-Dashboard.

Titel

optional, string

Von Menschen lesbarer Titel für das Streamlit-Dashboard.

stage

optional, string

Stagingbereich, in dem die Artefakte der App gespeichert werden. Standard: Keine.

query_warehouse

erforderlich, string

Snowflake-Warehouse, das die App hostet.

main_file

optional, string

Einstiegspunkt-Datei der Streamlit-App. Standard: „streamlit_app.py“.

pages_dir

optional, string

Streamlit-Seiten. Standard: „pages“.

external_access_integrations

optional, Zeichenkettenfolge

Namen der Integrationen für externen Zugriff die für diesen Streamlit-Anwendungscode für den Zugriff auf externe Netzwerke benötigt werden. Weitere Informationen dazu finden Sie unter CREATE STREAMLIT.

Geheimnisse

optional, Wörterbuch

Weist die Namen von Geheimnissen Variablen zu, sodass Sie die Variablen verwenden können, um auf die Geheimnisse zu verweisen, wenn Sie Informationen aus Geheimnissen im Anwendungscode abrufen.

imports

optional, Zeichenkettenfolge

Stagingbereich und Pfad zu den zuvor hochgeladenen Dateien, die Sie importieren möchten. Weitere Informationen dazu finden Sie unter CREATE STREAMLIT.

Artefakte

erforderlich, string sequence

Auflistung der Dateien, die in die Deployment-Artefakte aufgenommen werden sollen.