Equipe:
Thiago Naves (Naves, T. F.) - Coordenador
Erik Henrique dos Santos Nascimento (Nascimento, E. H. S.) - Membro
Felipe Lapa Nascimento (Felipe, L. N.) - Gerente
Grupo: LAMIA - Laboratório de Aprendizado de Máquina e Imagens Aplicados à Indústria
Email: [email protected]
Organização: Universidade Tecnológica Federal do Paraná - Campus Santa Helena
Status do Projeto: Em fase de teste
Este repositório contém o código e as instruções para configurar e executar um pipeline simples na AWS, utilizando Python, Docker, AWS Lambda, e AWS S3. O objetivo desta prática é permitir que você aprenda a integrar diferentes serviços da AWS para automatizar o processamento de dados.
- Data Sources: Fonte dos arquivos que serão processados.
- Amazon S3: Armazenamento de arquivos que ativará o pipeline.
- AWS Lambda: Função que processará os arquivos.
- Docker: Imagem Docker usada para rodar o código na Lambda.
- Amazon ECR: Repositório para armazenar a imagem Docker.
- Buckets DL e DW: Buckets de destino no S3 para armazenamento dos dados processados.
Antes de começar, certifique-se de ter as seguintes ferramentas instaladas e configuradas no seu computador:
- Git: Para clonar este repositório.
- Docker: Para construir e rodar a imagem Docker.
- AWS CLI: Para interagir com os serviços da AWS.
- PyCharm (ou outro editor de código): Para editar e gerenciar o código.
- Conta AWS: Acesse a conta AWS fornecida ou crie a sua própria.
Primeiro, clone este repositório para o seu computador:
git clone https://github.com/seu-usuario/nome-do-repo.git
cd nome-do-repo
Em seguida, construa a imagem Docker que será usada na função Lambda:
docker build -t nome-da-imagem .
para interagir com a AWS via linha de comandos precisamos utilizar a CLI ( Command Line Interface ) disponibilizada pela propria AWS
aws configure
Agora, faça o push da imagem Docker para o Amazon ECR (São varios passos, então sumarizamos com um Makefile :
- Autentique o Docker no ECR:
- Crie o repositório no ECR:
- Marque a imagem e faça o push para o ECR:
make ecr
-
Alterar a Função Lambda do seu usuario:
- No console da AWS, vá para o serviço Lambda.
- Em “Funções” selecione a lambda com seu nome de usuário
- Abra a seção "imagem" e escolha "implantar nova imagem".
- Selecione a imagem que você acabou de fazer o push para o ECR.
-
Configurar o Trigger:
- Clique em “Adicionar gatilho”
- Adicione um trigger do tipo S3 para ativar a Lambda quando um arquivo for carregado em um bucket específico.
- Preencha as informações
Bucket: data-engineering-setac
Tipos de evento: marque o evento “PUT” apenas
Prefixo: seu_username/datalake/lol_
Sufixo: .parquet
- Assinale a caixinha de reconhecimento do risco das funções recursivas
- Finalize a criação
- Faça o upload de um arquivo de teste no bucket S3 configurado.
- Verifique se a função Lambda foi acionada e processou o arquivo corretamente.
- Confira o arquivo processado no bucket de destino (DL ou DW).
Este pipeline demonstra como integrar Docker, Lambda e S3 na AWS para criar um processo automatizado de processamento de dados
Happy coding! 🚀