Link para acesso aos dados, foram utilizados os arquivos 'caso' e 'obito_cartorio'
- Google Cloud Platform
- Google Cloud Functions - Executador de funções serverless
- Google Cloud Storage - Armazenamento de dados / Data Lake
- Google BigQuery - Plataforma SQL e Data Warehouse
- Google Data Studio - Apresentação de Dados / Dashboards
- Terraform - Infrastructure-as-Code (IaC) para manter reprodutibilidade de infraestrutura Cloud
- Python - Linguagem de programação escolhida para scripts em Cloud Function
- Conta em Google Cloud Platform (GCP)
- Google Cloud SDK instalado e configurado no computador
- Terraform instalado e configurado no computador
O Cloud Storage utilizado nesse estudo de caso possuí o nome de 'upload_covid_data_{nome do projeto em GCP}', é de classe 'Standard'. O BigQuery utilizado nesse estudo de caso possuí o dataset nomeado 'covid'. Ambos os recursos foram criados utilizando Terraform, onde o código de provisionamento pode ser encontrado aqui
Todas as predefinições de nome, id de projeto, região, classe do armazenamento e bucket podem ser alteradas no arquivo de variáveis de execução do Terraform. Esse arquivo pode ser encontrado aqui
O código utilizado nas Cloud Functions está disponível aqui
O código desse arquivo realiza o processo de baixar e enviar os dados disponíveis no Brasil.io para o Cloud Storage Bucket criado com Terraform. O resultado esperado dessa função é o erro "could not handle request", já que ela opera sendo disparada diretamente em HTTPS autorizado sem necessidade de receber nada no corpo da requisição.
O código desse arquivo realiza o processo de carregar o arquivo adicionado ao Cloud Storage para o BigQuery com instrução de sobre-escrita. O dataset no BigQuery já terá sido criado via Terraform. A função irá registrar a tabela criada em BigQuery e a quantidade de linhas atualizadas/sobre-escritas. O nome das tabelas é predefinido na própria Cloud Function.
Códigos utilizados e resultados para as questões requisitadas estão disponíveis neste arquivo
O dashboard foi produzido com Google Data Studio utilizando dados disponíveis no BigQuery do projeto.
O link para o dashboard é público e pode ser acessado por este link