Workshop de Streamlit para Google Cloud Engineers que mostra como criar aplicações web de forma rápida e eficiente usando Python.
Execute o script abaixo para configurar seu ambiente:
# Criar e ativar ambiente virtual
python -m venv .venv
source .venv/bin/activate # Linux/Mac
# ou
.venv\Scripts\activate # Windows
# Instalar dependências
pip install streamlit
pip install google-cloud-bigquery
pip install google-cloud-storage
pip install vertexai
pip install tenacity
# Configurar Google Cloud
gcloud auth application-default login
gcloud config set project SEU_PROJETO_IDmeu_projeto/
├── .streamlit/
│ └── config.toml
├── pages/
│ ├── 01_vertex.py
│ ├── 02_multimodal.py
│ ├── 03_bigquery.py
│ └── 04_storage.py
├── app.py
└── requirements.txt
streamlit run app.pyDemonstra os conceitos básicos do Streamlit com um exemplo simples de interface.
streamlit run pages/01_vertex.pyMostra como usar o Gemini Pro 002 para gerar conteúdo.
streamlit run pages/02_multimodal.pyExemplo de como enviar imagens e texto para o Vertex AI.
streamlit run pages/03_bigquery.pyLista datasets e tabelas do BigQuery.
streamlit run pages/04_storage.pyExplora buckets e objetos no Cloud Storage.
- Configure o tema e comportamento do Streamlit:
# .streamlit/config.toml
[theme]
primaryColor = "#2b5b84"
backgroundColor = "#ffffff"
secondaryBackgroundColor = "#f0f2f6"
textColor = "#262730"
font = "sans serif"- Configure as variáveis de ambiente:
export GCP_PROJECT="seu-projeto"
export GCP_REGION="sua-regiao"-
Organização de Código
- Separação de lógica e interface
- Uso de funções reutilizáveis
- Cache de dados pesados
-
Tratamento de Erros e Cache
- Decoradores para cache
- Retry para resiliência
- Tratamento amigável de erros
-
Configuração do Streamlit
- Tema personalizado
- Múltiplas páginas
- Configurações otimizadas
-
Logging e Monitoramento
- Logging estruturado
- Monitoramento de performance
- Métricas de uso
- Certifique-se de ter as permissões adequadas no GCP
- Use
gcloud auth application-default loginantes de executar os exemplos - Monitore o uso de recursos e implemente cache quando necessário
Sinta-se à vontade para abrir issues ou enviar pull requests com melhorias.
- Twitter: @duboc
- LinkedIn: /in/duboc
- Email: duboc@google.com