Beispiel: Erstellen eines personalisierten Daten-Dashboards¶
Dieses Beispiel führt Sie durch die Erstellung einer Streamlit in Snowflake-App, die Snowflake-Daten abfragt, eine Diagrammbibliothek eines Drittanbieters hinzufügt und die Anzeige für jeden Betrachter personalisiert. Am Ende werden Sie den zentralen Entwicklungszyklus verstehen: Erstellen, Bereitstellen, Bearbeiten und erneutes Bereitstellen.
Die App verwendet eine Container-Laufzeit. Bevor Sie beginnen, vergewissern Sie sich, dass Sie die Voraussetzungen abgeschlossen haben.
Beispieldaten einrichten¶
Dieses Beispiel verwendet eine Datenbank namens dashboard_demo. Sie können jede Datenbank und jedes Schema, auf das Sie Zugriff haben, ersetzen. Aktualisieren Sie einfach die Referenzen im SQL- und App-Code für den Abgleich.
Erstellen Sie eine Tabelle mit Beispieldaten zum Umsatz. Führen Sie folgende SQL in einem Arbeitsblatt oder einer SQL-Sitzung aus:
App-Code schreiben¶
Erstellen Sie auf Ihrem lokalen Computer in einem Projektverzeichnis Ihrer Wahl eine Datei namens streamlit_app.py mit dem folgenden Code. Wenn Sie Snowsight verwenden möchten, können Sie diesen Code in den Editor einfügen, nachdem Sie die App erstellt haben.
Diese App verwendet:
conn.query()zur Abfrage von Daten aus Snowflake. Die Ergebnisse werden automatisch zwischengespeichert, sodass die Abfrage nur einmal ausgeführt wird, bis der Cache abläuft. Weitere Informationen dazu finden Sie unter Verwalten von Geheimnissen und Konfigurieren der Streamlit-App.st.user.user_name, um den aktuellen Betrachter zu begrüßen. Weitere Informationen dazu finden Sie unter Personalisieren Ihrer Streamlit-App mit Benutzerinformationen.plotlyfür interaktive Diagramme, was eine externe Abhängigkeit ist, die Sie im nächsten Schritt deklarieren.
Abhängigkeiten deklarieren¶
Container-Laufzeiten installieren Pakete, die in einer requirements.txt-Datei aufgeführt sind. Erstellen Sie eine requirements.txt-Datei neben Ihrer streamlit_app.py:
Wenn die App gestartet wird, installiert die Container-Laufzeit automatisch die deklarierten Pakete. Für komplexere Abhängigkeitsszenarios können Sie stattdessen eine pyproject.toml-Datei verwenden. Weitere Informationen dazu finden Sie unter Verwalten von Abhängigkeiten für Ihre Streamlit-App.
App bereitstellen¶
Melden Sie sich bei Snowsight an.
Wählen Sie im Navigationsmenü die Option Projects » Streamlit aus.
Wählen Sie + Streamlit App aus.
Geben Sie
revenue_dashboardals Namen der App ein.Wählen Sie eine Datenbank und ein Schema aus.
Wählen Sie Run on container und dann einen Computepool und ein Abfrage-Warehouse aus.
Wählen Sie Create aus.
Ersetzen Sie im Editor den Startcode durch den obigen App-Code.
Laden Sie die Datei
requirements.txthoch, oder erstellen Sie diese durch Auswahl von + (Hinzufügen) »Create new file und Eingabe vonrequirements.txtund Einfügen des Inhalts.Wählen Sie Run aus.
App-Dateien per Staging bereitstellen:
Streamlit-App erstellen:
Um Ihre App anzuzeigen, melden Sie sich bei Snowsight an und wählen Sie dann im Navigationsmenü Projects`|raa|:ui:`Streamlit aus und wählen Sie 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.
Erstellen Sie ein Projektverzeichnis mit der folgenden Struktur:
Erstellen Sie eine
snowflake.yml-Datei:Stellen Sie die App bereit:
Änderungen vornehmen¶
Versuchen Sie, Ihre App zu bearbeiten, um den Entwicklungszyklus in Aktion zu sehen. Fügen Sie eine Zusammenfassungskennzahl hinzu, indem Sie die folgenden beiden Zeilen in streamlit_app.py einfügen, zwischen Zeile filtered = ... und fig = px.bar(...):
Wenn Sie die Bearbeitung im Browser vornehmen, fügen Sie die Zeilen in den Editor ein, und wählen Sie Run aus.
Stellen Sie die aktualisierte Datei im Stagingbereich bereit, und kopieren Sie sie dann in den Speicherort der Live-Version Ihrer App:
Speichern Sie die Datei lokal, und stellen Sie sie erneut bereit:
Weitere Informationen zum Bearbeitungsworkflow finden Sie unter Streamlit-App bearbeiten.
Bereinigen¶
Um die in diesem Beispiel erstellten Ressourcen zu entfernen, führen Sie folgende SQL aus:
Nächste Schritte¶
Beispiel: Erstellen eines Formulars, das in Snowflake schreibt: Erstellen einer App mit einem Formular, das Daten zurück nach Snowflake schreibt.
Personalisieren Ihrer Streamlit-App mit Benutzerinformationen: Erfahren Sie mehr über die Personalisierung von Apps mit
st.user.Externer Zugriff auf das Netzwerk in Streamlit in Snowflake: Verbinden Sie Ihre App mit externen APIs.