Boto3 no S3 da AWS
- Amanda Nascimento

- 27 de jan.
- 2 min de leitura
Boto3 é o nome do Python SDK para AWS. SDK (Software Development Kit) ou devkit é um conjunto de ferramentas, bibliotecas e documentação que facilitam o desenvolvimento de software para uma plataforma específica.
O Amazon S3 (Simple Storage Service) é um serviço de armazenamento de objetos na nuvem fornecido pela Amazon Web Services (AWS) . Ele permite que você armazene e recupere qualquer quantidade de dados a qualquer momento, em qualquer lugar da web. O S3 foi projetado para ser altamente escalável, seguro, protegido e acessível, o que o torna uma solução popular para armazenar grandes volumes de dados, como backups, arquivos de log, imagens, vídeos e outros tipos de arquivos.
No terminal do vscode instale a biblioteca boto3 com o pip.
Criação de Buckets pelo console
import boto3
s3 = boto3.client('s3')
s3.create_bucket(Bucket='nome-do-bucket')Upload e Download de Objetos:
Fazer upload de arquivos ou dados diretamente para o S3.
Baixar objetos do S3 para uso local.
import boto3
s3 = boto3.client('s3')
#Upload de um arquivo
with open('local/file.txt', 'rb') as data:
s3.upload_fileobj(data, 'nome-do-bucket', 'caminho/no/s3/file.txt')
#Download de um objeto
s3.download_file('nome-do-bucket', 'caminho/no/s3/file.txt', 'local/file.txt')Listagem de Objetos e Buckets:
Listar os objetos em um bucket.
Listar os buckets disponíveis.
import boto3
s3 = boto3.client('s3')
# Listar objetos em um bucket
response = s3.list_objects_v2(Bucket='nome-do-bucket')
for obj in response['Contents']:
print(obj['Key'])
# Listar buckets
response = s3.list_buckets()
for bucket in response['Buckets']:
print(bucket['Name'])Exclusão de Objetos e Buckets:
Excluir objetos específicos em um bucket.
Excluir um bucket.
import boto3
s3 = boto3.client('s3')
# Excluir um objeto
s3.delete_object(Bucket='nome-do-bucket', Key='caminho/no/s3/file.txt')
# Excluir um bucket**
s3.delete_bucket(Bucket='nome-do-bucket')Controle de Acesso e Permissões: Configurar políticas de controle de acesso em buckets e objetos.
import boto3
s3 = boto3.client('s3')
# Configurar ACL para um objeto
s3.put_object_acl(Bucket='nome-do-bucket', Key='caminho/no/s3/file.txt', ACL='public-read')

