Migrer votre application de ROOT_LOCATION à FROM

Pour convertir votre objet Streamlit, utilisez CREATE OR REPLACE STREAMLIT avec le paramètre FROM. Pour plus de simplicité, cette procédure suppose que vous utiliserez un environnement d’exécution d’entrepôt. Si vous souhaitez passer à un environnement d’exécution de conteneur (prévisualisation), vous devrez modifier le code de votre application pour en assurer la compatibilité. Voir la page Migration entre des environnements d’exécution.

Si le code de votre application est compatible avec un environnement d’exécution de conteneur, vous pouvez modifier cette procédure en ajoutant les paramètres suivants à votre commande CREATE OR REPLACE STREAMLIT :

RUNTIME_NAME = 'SYSTEM$ST_CONTAINER_RUNTIME_PY3_11'
COMPUTE_POOL = my_compute_pool
EXTERNAL_ACCESS_INTEGRATIONS = (pypi_access_integration)
Copy

Pour migrer votre application de ROOT_LOCATION à FROM procédez comme suit :

  1. Pour identifier la configuration actuelle de votre application, exécutez la commande suivante :

    DESCRIBE STREAMLIT streamlit_db.streamlit_schema.my_app;
    
    Copy

    Remplacez streamlit_db.streamlit_schema.my_app par votre objet Streamlit.

  2. Pour une utilisation dans une étape ultérieure, ouvrez un éditeur de texte et notez les valeurs suivantes. Des exemples de valeurs sont présentés afin que vous puissiez les identifier et les remplacer par vos valeurs dans les étapes suivantes :

    Colonne

    Valeur

    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

    Si votre objet Streamlit n’a pas renvoyé une colonne root_location, votre application a été créée à l’aide du paramètre FROM et ne nécessite pas de conversion.

  3. Confirmez que le fichier du point d’entrée se trouve à la racine du répertoire source de votre application. (Vous pouvez ignorer cette étape si vous utilisez un environnement d’exécution de conteneur).

    Le fichier de point d’entrée est spécifié par la valeur main_file de l’étape précédente. Pour créer une application à l’aide de FROM, main_file doit déclarer un fichier à la racine du répertoire source. Si votre fichier de point d’entrée se trouve dans un sous-répertoire, vous devez réorganiser les fichiers de votre application et mettre à jour le code de votre application en conséquence avant de poursuivre.

  4. Pour convertir votre application, utilisez CREATE OR REPLACE STREAMLIT avec le paramètre FROM.

    Dans le cas le plus simple, votre application peut avoir des valeurs nulles pour title, user_packages, import_urls, external_access_integration et external_access_secrets. Dans ce cas, vous pouvez exécuter la commande suivante, en remplaçant les espaces réservés par les valeurs de votre application :

    CREATE OR REPLACE STREAMLIT my_app
    FROM '@db1.schema1/my_app_folder'
    MAIN_FILE = 'streamlit_app.py'
    QUERY_WAREHOUSE = my_warehouse;
    
    Copy

    Si votre application dispose de valeurs non nulles pour l’un des paramètres facultatifs, incluez-les dans la commande CREATE OR REPLACE STREAMLIT. Par exemple :

    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. Si votre application ne se charge pas, confirmez vos dépendances.

    Pour plus d’informations sur la gestion des dépendances, voir Gérer les dépendances de votre application Streamlit.