Ladda upp och hämta filer

Introduktion till AWS Boto i Python

Maksim Pecherskiy

Data engineer

Buckets och objekt

Bucket med objekt

Introduktion till AWS Boto i Python

En bucket

S3-buckets

  • En bucket har ett namn
  • Namn är en sträng
  • Unikt namn i hela S3
  • Innehåller många objekt

Ett objekt

S3-objekt

  • Ett objekt har en nyckel
  • Namn är hela sökvägen från bucketens rot
  • Unik nyckel i bucketen
  • Kan bara finnas i en överordnad bucket
Introduktion till AWS Boto i Python

Skapa klienten

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

Klientkommunikation med S3

Introduktion till AWS Boto i Python

Ladda upp filer

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

Ladda upp objekt till en bucket

Introduktion till AWS Boto i Python

Ladda upp filer

Fil i S3

Introduktion till AWS Boto i Python

Ladda upp fler objekt

Ladda upp fler objekt

Introduktion till AWS Boto i Python

Lista objekt i en bucket

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

print(response)

Svar från list_objects

Introduktion till AWS Boto i Python

Lista objekt i en bucket

Lista objekt i en bucket

Introduktion till AWS Boto i Python

Lista objekt i en bucket

Lista objekt i en bucket

Introduktion till AWS Boto i Python

Lista objekt i en bucket

Lista objekt i en bucket

Introduktion till AWS Boto i Python

Hämta objektmetadata

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

print(response)

Metoden head_object

Introduktion till AWS Boto i Python

Hämta objektmetadata

Svar med objektmetadata

Introduktion till AWS Boto i Python

Ladda ned filer

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

Ladda ned filer

Introduktion till AWS Boto i Python

Ta bort objekt

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

Ta bort ett objekt

Introduktion till AWS Boto i Python

Sammanfattning

  • Buckets liknar mappar
  • Objekt liknar filer
  • boto3.client()
  • s3.upload_file()
  • s3.list_objects()
  • s3.head_object()
  • s3.download_file()
  • s3.delete_object()

Buckets

Introduktion till AWS Boto i Python

Nu kör vi en övning!

Introduktion till AWS Boto i Python

Preparing Video For Download...