Migração do app de ROOT_LOCATION para FROM

To convert your Streamlit object, use CREATE OR REPLACE STREAMLIT with the FROM parameter. For simplicity, this procedure assumes you will use a warehouse runtime. If you want to upgrade to a container runtime, you will need to alter your app code for compatibility. See the Migração entre ambientes de tempo de execução page.

Se o código do app for compatível com um tempo de execução de contêiner, você poderá modificar este procedimento adicionando os seguintes parâmetros ao comando CREATE OR REPLACE STREAMLIT:

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

Para migrar o app de ROOT_LOCATION para FROM, siga estas etapas:

  1. Para identificar a configuração atual do app, execute o seguinte comando:

    DESCRIBE STREAMLIT streamlit_db.streamlit_schema.my_app;
    

    Substitua streamlit_db.streamlit_schema.my_app por seu objeto Streamlit.

  2. Para uso em uma etapa posterior, abra um editor de texto e anote os seguintes valores. Os valores de amostra são mostrados para que você possa identificá-los e substituí-los por seus valores nas etapas posteriores:

    Coluna

    Valor

    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

    Se o objeto Streamlit não retornou uma coluna root_location, o app foi criado usando o parâmetro FROM e não requer conversão.

  3. Confirme se o arquivo de ponto de entrada está na raiz do diretório de origem do seu app. Você pode pular esta etapa se usar um tempo de execução de contêiner.

    O arquivo de ponto de entrada é especificado pelo valor main_file da etapa anterior. Para criar um app usando FROM, main_file deve declarar um arquivo na raiz do diretório de origem. Se o arquivo de ponto de entrada estiver em um subdiretório, você deverá reorganizar os arquivos e atualizar o código do app adequadamente antes de prosseguir.

  4. Para converter o app, use CREATE OR REPLACE STREAMLIT com o parâmetro FROM.

    No caso mais simples, o app pode ter valores nulos para title, user_packages, import_urls, external_access_integration e external_access_secrets. Nesse caso, é possível executar o seguinte comando, substituindo os espaços reservados pelos valores do seu app:

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

    Se o seu app tiver valores não nulos para qualquer um dos parâmetros opcionais, inclua-os no comando CREATE OR REPLACE STREAMLIT. Por exemplo:

    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');
    
  5. Se o seu app não estiver carregando, confirme as dependências.

    Para obter mais informações sobre gerenciamento de dependências, consulte Gerenciamento de dependências para o app Streamlit.