Téléverser et récupérer des fichiers

Introduction à AWS Boto en Python

Maksim Pecherskiy

Data engineer

Buckets et objets

Seau avec des objets

Introduction à AWS Boto en Python

Un bucket

Buckets S3

  • Un bucket a un nom
  • Le nom est une chaîne
  • Nom unique dans tout S3.
  • Contient de nombreux objets

Un objet

Objets S3

  • Un objet a une clé
  • Le nom est le chemin complet depuis la racine du bucket
  • Clé unique dans le bucket
  • Ne peut être que dans un bucket parent
Introduction à AWS Boto en Python

Créer le client

s3 = boto3.client(
  's3', 
  region_name='us-east-1', 
  aws_access_key_id=AWS_KEY_ID, 
  aws_secret_access_key=AWS_SECRET
)

Client communiquant avec S3

Introduction à AWS Boto en Python

Téléverser des fichiers

s3.upload_file(
  Filename='gid_requests_2019_01_01.csv', 
  Bucket='gid-requests', 
  Key='gid_requests_2019_01_01.csv')

Téléversement d'un objet dans un bucket

Introduction à AWS Boto en Python

Téléverser des fichiers

Fichier dans S3

Introduction à AWS Boto en Python

Téléverser plus d'objets

Téléverser plus d'objets

Introduction à AWS Boto en Python

Lister les objets d'un bucket

response = s3.list_objects(
  Bucket='gid-requests', 
  MaxKeys=2,
  Prefix='gid_requests_2019_')

print(response)

Réponse de listage d'objets

Introduction à AWS Boto en Python

Lister les objets d'un bucket

Lister les objets d'un bucket

Introduction à AWS Boto en Python

Lister les objets d'un bucket

Lister les objets d'un bucket

Introduction à AWS Boto en Python

Lister les objets d'un bucket

Lister les objets d'un bucket

Introduction à AWS Boto en Python

Récupérer les métadonnées d'un objet

response = s3.head_object(
  Bucket='gid-requests', 
  Key='gid_requests_2018_12_30.csv')

print(response)

Méthode head_object

Introduction à AWS Boto en Python

Récupérer les métadonnées d'un objet

Réponse de métadonnées d'objet

Introduction à AWS Boto en Python

Télécharger des fichiers

s3.download_file(
  Filename='gid_requests_downed.csv',
  Bucket='gid-requests', 
  Key='gid_requests_2018_12_30.csv')

Télécharger des fichiers

Introduction à AWS Boto en Python

Supprimer des objets

s3.delete_object(
  Bucket='gid-requests', 
  Key='gid_requests_2018_12_30.csv')

Supprimer un objet

Introduction à AWS Boto en Python

Récapitulatif

  • Les buckets sont comme des dossiers
  • Les objets sont comme des fichiers
  • boto3.client()
  • s3.upload_file()
  • s3.list_objects()
  • s3.head_object()
  • s3.download_file()
  • s3.delete_object()

Buckets

Introduction à AWS Boto en Python

Créons quelques objets !

Introduction à AWS Boto en Python

Preparing Video For Download...