Erstellen einer Streamlit-App¶
Voraussetzungen¶
Bevor Sie eine Streamlit-App mit Snowflake CLI erstellen können, müssen die folgenden Voraussetzungen erfüllt sein:
Vergewissern Sie sich, dass Ihr Konto über die richtigen Berechtigungen verfügt, wie unter Erforderliche Berechtigungen zum Erstellen und Verwenden einer Streamlit-App beschrieben.
Vergewissern Sie sich, dass Sie einen benannten Stagingbereich erstellen können oder Zugriff darauf haben, in den Sie Ihre Streamlit-App-Dateien hochladen können.
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
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
Die folgende Tabelle beschreibt die Eigenschaften einer Streamlit-Projektdefinition.
Eigenschaft  | 
Definition  | 
|---|---|
Bezeichner optional, string  | 
Optionaler Snowflake-Bezeichner für die Entität. Der Wert kann die folgenden Formen annehmen: 
  | 
type optional, string  | 
Muss   | 
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 Details siehe die optionalen Parameter für 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 Details siehe die optionalen Parameter für CREATE STREAMLIT.  | 
Artefakte erforderlich, string sequence  | 
Liste der Quelle/Ziel-Dateipaare, die dem Bereitstellungsstamm hinzugefügt werden sollen. Sie können die folgenden Eigenschaften des Artefakts verwenden: 
 Wenn  Sie können anstelle von   |