DEV Community

Camila Figueira
Camila Figueira

Posted on

#Devops para noobs - Conhecendo Boto3 na prática

Ta, mas o que é o Boto3?

Boto3 é a biblioteca oficial da AWS (Amazon Web Services) para Python, que permite aos desenvolvedores interagir e acessar os serviços da AWS de forma programática.

É uma lib assistente que faz o trabalho de se comunicar com os serviços da AWS para você.

Na prática!

Em casos raros mas não impossíveis pode acontecer de você precisar recuperar um arquivo dentro de um Pod e enviar para um S3, aqui te ensino como fazer isso com o Boto3!

Bora lá!

Pré-requisitos
Antes de começar, certifique-se de que:

  • Você tem acesso ao cluster Kubernetes onde seu Pod está implantado.

  • Possui as credenciais de acesso válidas para interagir com o Amazon S3.

Passo 1:
Instalar o Boto3 no pod. Se não estiver instalado, você pode instalar utilizando o pip:

pip install boto3

Passo 2:
Importe a biblioteca do Boto3 e configure as credenciais AWS.

import boto3

from botocore.exceptions import NoCredentialsError
s3 = boto3.client('s3',
                  aws_access_key_id='YOUR_ACCESS_KEY_ID',
                  aws_secret_access_key='YOUR_SECRET_ACCESS_KEY')

Enter fullscreen mode Exit fullscreen mode

Passo 3:
Defina o caminho do arquivo dentro do Pod que você deseja enviar para o S3.

local_file = 'caminho/do/seu/arquivo.txt'
Enter fullscreen mode Exit fullscreen mode

Passo 4:
Especifique o nome do bucket no Amazon S3 onde você deseja enviar o arquivo e o nome que ele terá no bucket.


# Nome do bucket s3 de destino 
bucket = 'nome-do-seu-bucket'

# Nome do arquivo que irá para o bucket de destino
s3_file = 'nome-do-seu-arquivo.txt'

Enter fullscreen mode Exit fullscreen mode

Passo 5:

Use o método upload_file para enviar o arquivo para o bucket especificado no passo 4.

try:
    s3.upload_file(local_file, bucket, s3_file)
    print("Upload do arquivo para o Amazon S3 realizado com sucesso!")
except FileNotFoundError:
    print("Arquivo não encontrado.")
except NoCredentialsError:
    print("Credenciais AWS inválidas.")

Enter fullscreen mode Exit fullscreen mode

Para mais detalhes sobre o Boto3: Doc oficial

Por hoje é isso! beijos de luz

Top comments (4)

Collapse
 
danielhe4rt profile image
Daniel Reis

Conheci esse boto3 quando estava estudando migração de uma ferramenta da firma chamada Alternator, que é basicamente uma API compatível do DynamoDB pra ScyllaDB.

Esse Boto3 ai facilitou minha vida em 1000% e é bem legal saber que tem mais coisas envolvidas nele...

Ótimo artigo prima <3

Collapse
 
camilacodes profile image
Camila Figueira

valeu primooo <3

Collapse
 
guto profile image
guto

Sensacional! 🚀

Collapse
 
mateuxaff profile image
Mateus Ferreira Rodrigues

❤❤