Uploading and retrieving files

Einführung in AWS Boto mit Python

Maksim Pecherskiy

Data engineer

Buckets and objects

Bucket with objects

Einführung in AWS Boto mit Python

A Bucket

S3 buckets

  • A bucket has a name
  • Name is a string
  • Unique name in all of S3.
  • Contains many objects

An Object

S3 objects

  • An object has a key
  • Name is full path from bucket root
  • Unique key in the bucket
  • Can only be in one parent bucket
Einführung in AWS Boto mit Python

Creating the client

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

Client communication with S3

Einführung in AWS Boto mit Python

Uploading files

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

Uploading object to a bucket

Einführung in AWS Boto mit Python

Uploading files

File in S3

Einführung in AWS Boto mit Python

Uploading more objects

Uploading more objects

Einführung in AWS Boto mit Python

Listing objects in a bucket

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

print(response)

List objects response

Einführung in AWS Boto mit Python

Listing objects in a bucket

Listing objects in a bucket

Einführung in AWS Boto mit Python

Listing objects in a bucket

Listing objects in a bucket

Einführung in AWS Boto mit Python

Listing objects in a bucket

Listing objects in a bucket

Einführung in AWS Boto mit Python

Getting object metadata

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

print(response)

Head object method

Einführung in AWS Boto mit Python

Getting object metadata

Object metadata response

Einführung in AWS Boto mit Python

Downloading files

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

Downloading files

Einführung in AWS Boto mit Python

Deleting objects

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

Delete an object

Einführung in AWS Boto mit Python

Summary

  • Buckets are like folders
  • Objects are like files
  • 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

Let's make some objects!

Einführung in AWS Boto mit Python

Preparing Video For Download...