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“. |
Artefakte erforderlich, string sequence |
Auflistung der Dateien, die in die Deployment-Artefakte aufgenommen werden sollen. |