Skip to content

tonsatomicos/getting-objects-from-s3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Manipulando objetos no AWS S3
Explorando Botocore

Este projeto consiste na criação de uma solução em Python para gerenciar objetos no Amazon S3, utilizando a biblioteca Botocore.

A solução foi projetada para baixar objetos do S3 e, em seguida, remover esses objetos do S3. Antes de realizar o download, o script verifica se o objeto já existe em uma pasta de objetos processados, como parte de um processo separado de ETL.

Se o objeto já tiver sido processado, não será baixado novamente e será removido do S3. Caso contrário, o objeto será baixado e, em seguida, removido do S3, oferecendo um gerenciamento eficiente e simplificado.

Diagrama de Fluxo

Diagram

Sinta-se à vontade para clonar, adaptar e ajustar o projeto conforme necessário. Consulte as instruções abaixo, se precisar. 👽

Dependências do Projeto

Este projeto foi desenvolvido utilizando o Poetry + Pyenv para gerenciamento de ambientes virtuais e bibliotecas.

Bibliotecas Utilizadas

  • botocore (v1.34.78)
  • python-dotenv (v1.0.1)

Instalação das Dependências

Você pode instalar as dependências manualmente, ou, utilizando o Poetry ou o Pip com os seguintes comandos:

Utilizando Poetry

poetry install

Utilizando Pip

pip install -r requirements.txt

Configurações do Projeto - Parte 1

  • Necessário conta na AWS.
  • Baixe o Acess Keys no Security Credentials.
  • Crie um arquivo .env na pasta config e salve nele a seguinte linha:
    aws_access_key_id=acess_key
    aws_secret_access_key=secret_access_key
  • Substitua o acess_key e o secret_access_key pelos IDs existentes no arquivo de Acess Keys baixado anteriormente.
  • Configure as variáveis:
    bucket_name=nome_do_bucket
    path_to_search=caminho_do_objeto/nomeclatura_do_objeto
    local_base_path=pasta_local
  • Configure a região na função get_session existente no script.

Conclusão

Após seguir esses passos, você estará pronto para automatizar o download e remoção dos objetos no S3.

Considerações Finais

  • A documentação pode não estar tão detalhada, talvez seja necessário um certo nível de conhecimento para adaptar o código.
  • Estão disponíveis dois arquivos de teste na pasta data/input, caso queira utilizá-los.
  • Este projeto representa uma refatoração de um script que desenvolvi na empresa onde trabalho atualmente, o MagaluBank. Enfrentamos "desafios" ao tentar baixar vários objetos usando o boto3, o que me levou a optar pelo botocore.

Image

About

Estudo independente: extração de objetos do AWS S3.

Topics

Resources

Stars

Watchers

Forks