Erläuterungen zu den verschiedenen Typen von Streamlit-Objekten¶
Streamlit-Objekte in Snowflake weisen zwei wichtige Unterschiede auf, die sich auf deren Funktionen, Einschränkungen und Verwaltung auswirken:
Wie der Quellspeicherort angegeben wird: unter Verwendung des Parameters ROOT_LOCATION (veraltet) oder FROM (empfohlen).
Die Laufzeitumgebung: Warehouse-Laufzeit oder Container-Laufzeit (Vorschau)
Auf dieser Seite werden die Unterschiede zwischen den Angaben zum Quellort erläutert, die sich wiederum auf die verfügbaren Laufzeitumgebungen auswirken.
Weitere Informationen zu Laufzeitumgebungen finden Sie unter Laufzeitumgebungen für Streamlit-Apps. Eine Checkliste für die Migration von Warehouse- zu Container-Laufzeitumgebungen finden Sie unter Migrieren zwischen Laufzeitumgebungen.
Quellspeicherort¶
Wenn Sie Streamlit-Apps in Snowflake erstellen, können Sie zwei verschiedene Parameter verwenden, um den Speicherort Ihrer Quelldateien anzugeben: ROOT_LOCATION oder FROM. ROOT_LOCATION ist ein Legacy-Parameter, der mehreren Einschränkungen unterliegt. Derzeit ist FROM der empfohlene Parameter für neue Apps und ist erforderlich, um auf die neuesten Streamlit in Snowflake-Features zuzugreifen, einschließlich Container-Laufzeiten. Auf dieser Seite wird erklärt, wie Sie zwischen den beiden Typen von Apps unterscheiden können. Zum Aktivieren der neuesten|sis|-Funktionen müssen Sie Ihre Legacy-Streamlits aktualisieren. Weitere Informationen dazu finden Sie unter Migrieren zwischen Laufzeitumgebungen.
FROM-Parameter (empfohlen)¶
Der Parameter FROM kopiert Dateien von einem bestimmten Speicherort in einen eingebetteten Stagingbereich innerhalb des Streamlit-Objekts. Dies ist der derzeit empfohlene Ansatz für das Erstellen von Streamlit-Apps.
Vorteile:
Unterstützt sowohl Warehouse- als auch Container-Laufzeitumgebungen.
Ermöglicht die Bearbeitung mehrerer Dateien in Snowsight.
Kompatibel mit Features der Git-Integration.
Verwendet einen eingebetteten, versionierten Stagingbereich innerhalb des Streamlit-Objekts.
Syntax:
CREATE STREAMLIT my_app
FROM '@my_stage/app_folder'
MAIN_FILE = 'streamlit_app.py';
ROOT_LOCATION-Parameter (veraltet)¶
Der Parameter ROOT_LOCATION erstellt eine App, die auf einen internen Stagingbereich als Quelle verweist. Dies ist ein älterer Ansatz mit mehreren Einschränkungen. Wenn Sie Ihre App mit einer älteren Version von Snowsight erstellt haben, könnte das Stammverzeichnis Ihrer App eine Snow-URL (snow://) anstelle eines benannten Stagingbereichs sein.
Einschränkungen:
Unterstützt nur die Warehouse-Laufzeit (kann keine Container-Laufzeit verwenden).
Keine Unterstützung für die Bearbeitung mehrerer Dateien in Snowsight.
Die Features der Git-Integration können nicht verwendet werden.
Erfordert fortlaufenden Zugriff auf den internen Stagingbereich.
Syntax:
CREATE STREAMLIT my_app
ROOT_LOCATION = '@my_stage/app_folder'
MAIN_FILE = '/streamlit_app.py';
Identifizieren des Quellorttyps Ihrer App¶
Sie können feststellen, welcher Parameter zur Erstellung Ihrer App verwendet wurde, indem Sie die DESCRIBE STREAMLIT-Ausgabe überprüfen:
DESCRIBE STREAMLIT my_app;
ROOT_LOCATION-basierte Apps geben weniger Spalten zurück und enthalten eine Spalte
root_location.FROM-basierte Apps geben mehr Spalten zurück und enthalten eine Spalte
live_version_location_uri.
Wenn Sie eine App in Snowsight bearbeiten, übertragen Sie Aktualisierungen entweder an die root_location oder an die live_version_location_uri, abhängig vom Typ der App. Sie können beide Arten von Apps mit SQL -Befehlen wie PUT oder COPY FILES zu diesen Speicherorten aktualisieren.