Erste Schritte mit Streamlit in Snowflake¶
Unter diesem Thema wird beschrieben, wie Sie Ihre erste Streamlit in Snowflake-App erstellen und ausführen.
Voraussetzungen¶
Bevor Sie eine Streamlit-App erstellen können, stellen Sie sicher, dass Ihr Administrator die grundlegende Sicherheitseinrichtung für Streamlit-Apps abgeschlossen hat.
Ihre Rolle muss die folgenden Berechtigungen haben:
Berechtigung |
Objekt |
Anmerkungen |
|---|---|---|
USAGE |
Datenbank, in der Sie die Streamlit-App erstellen |
|
CREATE STREAMLIT,
USAGE
|
Schema, in dem Sie die Streamlit-App erstellen |
|
USAGE |
Warehouse, das Abfragen in der Streamlit-App ausführt |
Bei Apps mit Warehouse-Laufzeit führt das Warehouse auch den Python-Code der App aus. |
USAGE |
Computepool, in dem die Streamlit-App ausgeführt wird |
Diese Berechtigung ist nur erforderlich, wenn Ihre App eine Container-Laufzeit (Vorschau) verwendet. |
Weitere Informationen dazu finden Sie unter Erforderliche Berechtigungen zum Erstellen und Verwenden einer Streamlit-App.
Ihre erste Streamlit in Snowflake-App bereitstellen¶
Der schnellste Einstieg ist das Erstellen einer Streamlit-App unter Verwendung der Standard-App-Dateien. Snowflake stellt automatisch Startcode bereit, wenn Sie eine App erstellen, ohne Quelldateien anzugeben.
Melden Sie sich bei Snowsight an.
Wählen Sie im Navigationsmenü die Option Projects » Streamlit aus.
Wählen Sie + Streamlit App aus.
Geben Sie einen Namen für Ihre App ein.
Wählen Sie eine Datenbank und ein Schema aus, um Ihre App zu erstellen.
Konfigurieren Sie Ihre App.
Um eine Container-Laufzeit-App (Vorschau) zu erstellen, wählen Sie die folgenden Optionen aus:
Wählen Sie Run on container aus.
Wählen Sie einen Computepool aus, in dem Sie Ihre App ausführen möchten. Bevorzugt sollte dies ein Computepool sein, der speziell für die Ausführung von Streamlit-Apps bestimmt ist.
Wählen Sie ein Abfrage-Warehouse aus, in dem Sie die Abfragen Ihrer App ausführen möchten.
Um eine Warehouse-Laufzeit-App zu erstellen, wählen Sie die folgenden Optionen aus:
Wählen Sie Run on warehouse aus.
Wählen Sie ein Warehouse aus, auf dem Sie Ihre App ausführen möchten. Bevorzugt sollte dies ein Warehouse sein, das speziell für die Ausführung von Streamlit-Apps bestimmt ist.
Wählen Sie Create aus.
Snowflake erstellt eine neue Streamlit-App mit Beispielcode. Snowsight leitet Sie zum App-Editor weiter. Ihre App ist innerhalb weniger Sekunden bis weniger Minuten fertig, je nach Laufzeittyp. Dann können Sie sie sofort anzeigen und bearbeiten.
Während Sie Ihre bevorzugte Datenbank und Ihr bevorzugtes Schemas in einer SQL-Sitzung verwenden, führen Sie die folgenden SQL-Befehle aus:
Erstellen Sie ein Standard-Streamlit-Objekt.
So erstellen Sie eine Container-Laufzeit-App (Vorschau):
CREATE STREAMLIT my_first_app RUNTIME_NAME = 'SYSTEM$ST_CONTAINER_RUNTIME_PY3_11' COMPUTE_POOL = my_compute_pool QUERY_WAREHOUSE = my_warehouse;
So erstellen Sie eine Warehouse-Laufzeit-App:
CREATE STREAMLIT my_first_app QUERY_WAREHOUSE = my_warehouse;
Diese Befehle erstellen eine Streamlit-App namens
my_first_appmit Standard-Startcode.Versetzen Sie die App in den Live-Modus:
ALTER STREAMLIT my_first_app ADD LIVE VERSION FROM LAST;
Da Streamlit-Objekte versionierte Stagingbereiche verwenden, müssen Sie den Code Ihrer App an den Speicherort der Live-Version übertragen, bevor ein Benutzender mit der USAGE-Berechtigung für das Streamlit-Objekt dieses anzeigen kann.
Um Ihre App anzuzeigen, melden Sie sich bei Snowsight an.
Wählen Sie im Navigationsmenü die Option Projects » Streamlit und dann Ihre App aus.
Bemerkung
Snowflake-CLI Version 3.14.0 oder höher ist erforderlich. Version 3.14+ verwendet die moderne CREATE STREAMLIT-Syntax standardmäßig.
Initialisieren eines neuen Streamlit-Projekts:
snow init my_first_app --template example_streamlit
Navigieren Sie zum Projektverzeichnis:
cd my_first_app
Konfigurieren Sie Ihre App, indem Sie die
snowflake.yml-Datei bearbeiten.Um eine Container-Laufzeit-App (Vorschau) zu erstellen, fügen Sie
compute_poolundruntime_namehinzu:definition_version: 2 entities: my_streamlit: type: streamlit identifier: my_first_app query_warehouse: my_warehouse compute_pool: my_compute_pool runtime_name: SYSTEM$ST_CONTAINER_RUNTIME_PY3_11 main_file: streamlit_app.py artifacts: - streamlit_app.py
Um eine Warehouse-Laufzeit-App zu erstellen, verwenden Sie die Standardkonfiguration:
definition_version: 2 entities: my_streamlit: type: streamlit identifier: my_first_app query_warehouse: my_warehouse main_file: streamlit_app.py artifacts: - streamlit_app.py
Speichern Sie Ihre
snowflake.yml-Datei.Stellen Sie die App in Snowflake bereit und öffnen Sie sie in Ihrem Browser:
snow streamlit deploy --open
Bearbeiten Ihrer App¶
Weitere Informationen zum Bearbeiten Ihrer App finden Sie unter Bearbeiten einer bereitgestellten Streamlit-App.
Nachdem Sie Ihre App erstellt haben, können Sie den Code bearbeiten, um sie anzupassen:
Melden Sie sich bei Snowsight an.
Wählen Sie im Navigationsmenü die Option Projects » Streamlit und dann Ihre App aus.
Um den Editor zu öffnen, wählen Sie Edit aus.
Ändern Sie im Editorbereich den Code in der
streamlit_app.py-Datei.Wählen Sie Run aus, um Ihre Änderungen zu sehen.
Wenn Sie eine oder mehrere bearbeitete App-Dateien in einem Stagingbereich haben, können Sie COPY FILES verwenden, um sie mit den folgenden Befehlen an den Quellspeicherort Ihrer App zu kopieren:
Identifizieren Sie den Quellort Ihrer App:
DESCRIBE STREAMLIT my_first_app;
Der
live_version_location_uri-Wert ist der Quellort für Ihre App. Kopieren Sie diesen in einen Editor, um ihn im nächsten Schritt zu verwenden. Dies ist eine Snow-URL (snow://).Kopieren Sie Dateien aus einem internen Stagingbereich an den Quellspeicherort Ihrer App:
COPY FILES INTO '<live_version_location_uri>' FROM @my_stage FILES = ('streamlit_app.py');
Bemerkung
Snowflake-CLI Version 3.14.0 oder höher ist erforderlich. Version 3.14+ verwendet die moderne CREATE STREAMLIT-Syntax standardmäßig.
Bearbeiten und speichern Sie die
streamlit_app.py-Datei in Ihrem lokalen Projektverzeichnis.Stellen Sie Ihre Änderungen in Snowflake bereit:
snow streamlit deploy --replace
Dadurch wird die gesamte App mit der neuen Version überschrieben.
Nächste Schritte¶
Nachdem Sie Ihre erste App erstellt haben, erkunden Sie diese Themen, um mehr zu erfahren:
Verwalten von Abhängigkeiten für Ihre Streamlit-App: Python-Pakete zu App hinzufügen
Externer Zugriff auf das Netzwerk in Streamlit in Snowflake: Verbinden Ihrer App mit externen Diensten