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)
Copy

Für die Migration Ihrer App von ROOT_LOCATION zu FROM führen Sie die folgenden Schritte aus:

  1. Um die aktuelle Konfiguration Ihrer App zu ermitteln, führen Sie den folgenden Befehl aus:

    DESCRIBE STREAMLIT streamlit_db.streamlit_schema.my_app;
    
    Copy

    Ersetzen Sie streamlit_db.streamlit_schema.my_app mit Ihrem Streamlit-Objekt.

  2. 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

    name

    my_app

    title

    My Streamlit App

    root_location

    @db1.schema1/my_app_folder

    main_file

    streamlit_app.py

    query_warehouse

    my_warehouse

    user_packages

    streamlit==1.45.0, pandas==2.2.0

    import_urls

    @db2.schema2/packages/package1.zip, @db3.schema3/packages/package2.zip

    external_access_integration

    eai_name_1, eai_name_2

    external_access_secrets

    secret1, secret2

    Wenn Ihr Streamlit-Objekt keine Spalte root_location zurückgegeben hat, wurde Ihre App mit dem Parameter FROM erstellt und muss nicht konvertiert werden.

  3. 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 in main_file eine 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.

  4. 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_integration und external_access_secrets aufweisen. 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;
    
    Copy

    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');
    
    Copy
  5. 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.