Documentação

Configurações da AWS

Para consulta e referência, algumas configurações utilizadas na AWS estão documentadas abaixo. Os arquivos com códigos estão disponíveis no GitHub do desenvolvedor.


AWS S3 Bucket

Foi criado um bucket no AWS S3 para armazenar os arquivos Parquet. Dentro de uma pasta chamada raw, há um trigger (b3-parquet-trigger) que, ao detectar a chegada de um novo arquivo, dispara uma função Lambda (b3-pipeline-lambda) responsável por iniciar um job ETL no AWS Glue.

  • Nome: b3-techchallenge-rj-2025
  • ARN: arn:aws:s3:::b3-techchallenge-rj-2025
  • Região: sa-east-1
  • Notificação de eventos: b3-parquet-triggerb3-pipeline-lambda (lambda_job_glue.py)
  • Pastas: raw/, refined/, athena-results/

AWS Lambda Functions

Foram criadas duas funções AWS Lambda em Python:

1. b3-pipeline-lambda

Responsável por iniciar o job ETL no Glue.

  • Script: AWS/lambda_job_glue.py (disponível no GitHub)
  • Role: b3-pipeline-lambda-role-6bp6ymld
  • Permissão: glue:StartJobRun
  • Glue Job ARN:
    arn:aws:glue:sa-east-1:726856122495:job/Operacoes_Parquet

Código do script:

2. DailyPipelineTrigger

Disparada por um cronjob configurado no EventBridge (DailyTrigger) para executar o pipeline completo via API.

  • Script: AWS/lambda_pipeline_trigger.py (disponível no GitHub)
  • Role: DailyPipelineTrigger-role-nkv39juy
  • Permissões: logs:CreateLogStream, logs:PutLogEvents
  • Lambda ARN:
    arn:aws:lambda:sa-east-1:726856122495:function:DailyPipelineTrigger

AWS Glue Studio (ETL Visual)

Embora o job ETL do Glue tenha sido criado visualmente no AWS Glue Studio, o script Python correspondente foi exportado e está disponível em:
AWS/Operacoes_Parquet.py (GitHub)


AWS Athena

Foi criado um banco de dados com uma tabela no Glue Catalog. Os dados podem ser consultados diretamente pelo AWS Athena.

  • Database: b3_techchallenge
  • Table: pregao_refinado
  • Resultado: s3://b3-techchallenge-rj-2025/athena-results/