Migração do app de ROOT_LOCATION para FROM

Para converter o objeto Streamlit, use CREATE OR REPLACE STREAMLIT com o parâmetro FROM. Para simplificar, este procedimento pressupõe que você usará um tempo de execução de warehouse. Se quiser atualizar para um tempo de execução de contêiner (versão preliminar), você precisará alterar o código do app para compatibilidade. Consulte a página Migração entre ambientes de tempo de execução.

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

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

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

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