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)
Para migrar o app de ROOT_LOCATION para FROM, siga estas etapas:
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_apppor seu objeto Streamlit.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
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, secret2Se 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.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_fileda etapa anterior. Para criar um app usando FROM,main_filedeve 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.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_integrationeexternal_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');
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.