https://github.com/rogeriols/eml-4.1-processamento-em-cloud
https://github.com/rogeriols/eml-4.1-processamento-em-cloud
Last synced: about 1 year ago
JSON representation
- Host: GitHub
- URL: https://github.com/rogeriols/eml-4.1-processamento-em-cloud
- Owner: RogerioLS
- License: mit
- Created: 2024-08-01T00:17:33.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-08-01T02:49:00.000Z (almost 2 years ago)
- Last Synced: 2025-02-13T14:53:34.173Z (over 1 year ago)
- Language: Jupyter Notebook
- Size: 200 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# MBA ITI UFSCar - Atividade
Material de apoio para o módulo de Cloud Computing do MBA de ML
## Atividade
- Desenvolver na sua conta AWS um pipeline de Extração, Transformação e Carregamento de Dados
- Depois de configurar os serviços, a ingestão do arquivo deverá ser feita manualmente para o serviço de Storage, a partir desse ponto todos os eventos deverão ser iniciados automaticamente
- No banco de dados final deverá conter os dados originais do arquivo
- API original encontra-se no repositório do Github:pokemon_data.json
- Arquivo com script sql para gerar tabela para salvar os dados: pokemon_database.sql
## Passo-a-passo
- Criar instância no RDS
- Instalar DBeaver ou similar
- Configurar segurança da instância para receber conexões públicas.
- Criar dois buckets no S3
- Desenvolver lambda com trigger de S3 para leitura do arquivo original e criação do arquivo csv
- Desenvolver lambda com trigger de S3 para leitura do arquivo csv e envio de mensagem para o SQS
- Desenvolver lambda com trigger de SQS para salvar dados no RDS
## Links para Lambda Layers (Python 3.9)
- PyMySQL : https://drive.google.com/file/d/1bBJANtI_Tj0_CGcwGeZWT0giipHKSEXB/view?usp=sharing
## Links de Referência
- DBeaver (DB Client): https://dbeaver.io/download/
- Kaggle: https://www.kaggle.com/
- Dataset Pokemon: https://pokeapi.co/api/v2/pokemon/1/
- Lambda Layer: https://towardsdatascience.com/how-to-install-python-packages-for-aws-lambda-layer-74e193c76a91
## Log Create, S3 and SQS Permissions
```
{
"Statement": [
{
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Effect": "Allow",
"Resource": "arn:aws:logs:*:*:*"
},
{
"Action": [
"s3:GetObject"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::*"
},
{
"Action": [
"s3:PutObject"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::/*"
},
{
"Action": [
"sqs:SendMessage"
],
"Effect": "Allow",
"Resource": "arn:aws:sqs:"
},
{
"Action": [
"sqs:ReceiveMessage"
],
"Effect": "Allow",
"Resource": "arn:aws:sqs:"
}
]
}
```
