Exemplo: Criar um painel de dados personalizado¶
Este exemplo orienta você na criação de um app Streamlit in Snowflake que consulta dados do Snowflake, adiciona uma biblioteca de gráficos de terceiros e personaliza a exibição para cada visualizador. Ao final, você entenderá o ciclo de desenvolvimento principal: criar, implantar, editar e reimplantar.
O app usa um tempo de execução de contêiner. Antes de começar, certifique-se de ter concluído os pré-requisitos.
Configurar dados de amostra¶
Este exemplo usa um banco de dados chamado dashboard_demo. Você pode substituir por qualquer banco de dados e esquema aos quais tenha acesso; basta atualizar as referências no código do app e SQL para que correspondam.
Crie uma tabela com dados de receita de amostra. Execute o seguinte SQL em uma planilha ou sessão SQL:
Escrever o código do app¶
Em sua máquina local, em um diretório de projeto de sua escolha, crie um arquivo chamado streamlit_app.py com o seguinte código. Se você planeja usar o Snowsight, pode colar este código no editor após criar o app.
Este app usa:
conn.query()para consultar dados do Snowflake. Os resultados são armazenados em cache automaticamente, portanto, a consulta é executada apenas uma vez até que o cache expire. Para obter mais informações, consulte Gerenciamento de segredos e configuração do app Streamlit.st.user.user_namepara saudar o visualizador atual. Para obter mais informações, consulte Personalizar seu app Streamlit com informações do usuário.plotlypara gráficos interativos, que é uma dependência externa que você declara na próxima etapa.
Declarar dependências¶
Os tempos de execução de contêiner instalam os pacotes listados em um arquivo requirements.txt. Crie um arquivo requirements.txt junto com o seu streamlit_app.py:
Quando o app é iniciado, o tempo de execução de contêiner instala automaticamente os pacotes declarados. Para cenários de dependência mais complexos, você pode usar um arquivo pyproject.toml. Para obter mais informações, consulte Gerenciamento de dependências para o app Streamlit.
Implantar o app¶
Faça login no Snowsight.
No menu de navegação, selecione Projects » Streamlit.
Selecione + Streamlit App.
Insira
revenue_dashboardcomo o nome do app.Selecione um banco de dados e um esquema.
Selecione Run on container e, em seguida, escolha um pool de computação e um warehouse de consultas.
Selecione Create.
No editor, substitua o código inicial pelo código do app acima.
Carregue ou crie o arquivo
requirements.txtselecionando + (Adicionar) » Create new file, inserindorequirements.txte colando o conteúdo.Selecione Run.
Prepare os arquivos do app:
Crie o app Streamlit:
Para visualizar o app, faça login no Snowsight e, no menu de navegação, selecione Projects » Streamlit e depois escolha o seu app.
Nota
É necessário o Snowflake CLI versão 3.14.0 ou posterior. A versão 3.14+ utiliza a moderna sintaxe CREATE STREAMLIT por padrão.
Crie um diretório de projeto com a seguinte estrutura:
Crie um arquivo
snowflake.yml:Implante o app:
Fazer uma alteração¶
Experimente editar seu app para ver o ciclo de desenvolvimento em ação. Adicione uma métrica de resumo inserindo as duas linhas a seguir em streamlit_app.py, entre as linhas filtered = ... e fig = px.bar(...):
Se você estiver editando no navegador, cole as linhas no editor e selecione Run.
Prepare o arquivo atualizado e copie-o para o local da versão ativa do seu app:
Salve o arquivo localmente e reimplante:
Para obter mais informações sobre o fluxo de trabalho de edição, consulte Editar o app Streamlit.
Limpeza¶
Para remover os recursos criados neste exemplo, execute o seguinte SQL:
Qual é o próximo passo?¶
Exemplo: Criar um formulário que grave no Snowflake: Crie um app com um formulário que grava dados de volta para o Snowflake.
Personalizar seu app Streamlit com informações do usuário: Saiba mais sobre como personalizar apps com
st.user.Acesso à rede externa no Streamlit in Snowflake: Conecte seu app a APIs externas.