Dateien hoch- und herunterladen

Einführung in AWS Boto mit Python

Maksim Pecherskiy

Data engineer

Buckets und Objekte

Bucket mit Objekten

Einführung in AWS Boto mit Python

Ein Bucket

S3-Buckets

  • Ein Bucket hat einen Namen
  • Name ist ein String
  • Eindeutiger Name in ganz S3.
  • Enthält viele Objekte

Ein Objekt

S3-Objekte

  • Ein Objekt hat einen Key
  • Name ist der vollständige Pfad ab Bucket-Root
  • Eindeutiger Key im Bucket
  • Kann nur in einem übergeordneten Bucket sein
Einführung in AWS Boto mit Python

Client erstellen

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

Client-Kommunikation mit S3

Einführung in AWS Boto mit Python

Dateien hochladen

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

Objekt in einen Bucket hochladen

Einführung in AWS Boto mit Python

Dateien hochladen

Datei in S3

Einführung in AWS Boto mit Python

Weitere Objekte hochladen

Weitere Objekte hochladen

Einführung in AWS Boto mit Python

Objekte in einem Bucket auflisten

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

print(response)

Antwort von List Objects

Einführung in AWS Boto mit Python

Objekte in einem Bucket auflisten

Objekte in einem Bucket auflisten

Einführung in AWS Boto mit Python

Objekte in einem Bucket auflisten

Objekte in einem Bucket auflisten

Einführung in AWS Boto mit Python

Objekte in einem Bucket auflisten

Objekte in einem Bucket auflisten

Einführung in AWS Boto mit Python

Objektmetadaten abrufen

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

print(response)

Head-Object-Methode

Einführung in AWS Boto mit Python

Objektmetadaten abrufen

Antwort mit Objektmetadaten

Einführung in AWS Boto mit Python

Dateien herunterladen

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

Dateien herunterladen

Einführung in AWS Boto mit Python

Objekte löschen

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

Ein Objekt löschen

Einführung in AWS Boto mit Python

Zusammenfassung

  • Buckets sind wie Ordner
  • Objekte sind wie Dateien
  • boto3.client()
  • s3.upload_file()
  • s3.list_objects()
  • s3.head_object()
  • s3.download_file()
  • s3.delete_object()

Buckets

Einführung in AWS Boto mit Python

Lass uns ein paar Objekte erstellen!

Einführung in AWS Boto mit Python

Preparing Video For Download...