Migrieren Ihrer App von ROOT_LOCATION zu FROM¶
Um Ihr Streamlit-Objekt zu konvertieren, verwenden Sie CREATE OR REPLACE STREAMLIT mit dem Parameter FROM. Der Einfachheit halber wird bei diesem Verfahren davon ausgegangen, dass Sie eine Warehouse-Laufzeit verwenden. Wenn Sie auf eine Container-Laufzeit (Vorschau) aktualisieren möchten, müssen Sie Ihren App-Code aus Gründen der Kompatibilität ändern. Siehe die Seite Migrieren zwischen Laufzeitumgebungen.
Wenn Ihr App-Code mit einer Container-Laufzeit kompatibel ist, können Sie diese Prozedur ändern, indem Sie die folgenden Parameter zu Ihrem CREATE OR REPLACE STREAMLIT-Befehl hinzufügen:
RUNTIME_NAME = 'SYSTEM$ST_CONTAINER_RUNTIME_PY3_11'
COMPUTE_POOL = my_compute_pool
EXTERNAL_ACCESS_INTEGRATIONS = (pypi_access_integration)
Für die Migration Ihrer App von ROOT_LOCATION zu FROM führen Sie die folgenden Schritte aus:
Um die aktuelle Konfiguration Ihrer App zu ermitteln, führen Sie den folgenden Befehl aus:
DESCRIBE STREAMLIT streamlit_db.streamlit_schema.my_app;
Ersetzen Sie
streamlit_db.streamlit_schema.my_appmit Ihrem Streamlit-Objekt.Für die Verwendung in einem späteren Schritt öffnen Sie einen Texteditor und notieren sich die folgenden Werte. Es werden Beispielwerte angezeigt, damit Sie sie in späteren Schritten identifizieren und durch Ihre Werte ersetzen können:
Spalte
Wert
namemy_apptitleMy Streamlit Approot_location@db1.schema1/my_app_foldermain_filestreamlit_app.pyquery_warehousemy_warehouseuser_packagesstreamlit==1.45.0, pandas==2.2.0import_urls@db2.schema2/packages/package1.zip, @db3.schema3/packages/package2.zipexternal_access_integrationeai_name_1, eai_name_2external_access_secretssecret1, secret2Wenn Ihr Streamlit-Objekt keine Spalte
root_locationzurückgegeben hat, wurde Ihre App mit dem Parameter FROM erstellt und muss nicht konvertiert werden.Stellen Sie sicher, dass sich die Einstiegspunkt-Datei im Stammverzeichnis des Quellverzeichnisses Ihrer App befindet. (Sie können diesen Schritt überspringen, wenn Sie eine Container-Laufzeit verwenden möchten.)
Die Einstiegspunkt-Datei wird durch den
main_file-Wert aus dem vorherigen Schritt angegeben. Zum Erstellen einer App mit FROM muss inmain_fileeine Datei im Stammverzeichnis des Quellverzeichnisses deklariert werden. Wenn sich Ihre Einstiegspunkt-Datei in einem Unterverzeichnis befindet, müssen Sie die Dateien Ihrer App neu anordnen und den Code Ihrer App entsprechend aktualisieren, bevor Sie fortfahren.Um Ihre App zu konvertieren, verwenden Sie CREATE OR REPLACE STREAMLIT mit dem Parameter FROM.
Im einfachsten Fall kann Ihre App Nullwerte für
title,user_packages,import_urls,external_access_integrationundexternal_access_secretsaufweisen. In diesem Fall können Sie den folgenden Befehl ausführen und dabei die Platzhalter durch die Werte Ihrer App ersetzen:CREATE OR REPLACE STREAMLIT my_app FROM '@db1.schema1/my_app_folder' MAIN_FILE = 'streamlit_app.py' QUERY_WAREHOUSE = my_warehouse;
Wenn Ihre App für einen der optionalen Parameter Nicht-Null-Werte aufweist, nehmen Sie diese in den Befehl CREATE OR REPLACE STREAMLIT auf. Beispiel:
CREATE OR REPLACE STREAMLIT my_app FROM '@db1.schema1/my_app_folder' MAIN_FILE = 'streamlit_app.py' TITLE = 'My Streamlit App' QUERY_WAREHOUSE = my_warehouse IMPORTS = ('@db2.schema2/packages/package1.zip', '@db3.schema3/packages/package2.zip') EXTERNAL_ACCESS_INTEGRATION = ('eai_name_1', 'eai_name_2') SECRETS = ('secret1', 'secret2');
Wenn Ihre App nicht lädt, überprüfen Sie Ihre Abhängigkeiten.
Weitere Informationen zum Verwalten von Abhängigkeiten finden Sie unter Verwalten von Abhängigkeiten für Ihre Streamlit-App.