Python での S3 からファイル取得(boto3)

boto3というモジュールが存在して、それを使ってS3 のファイルが取得できる。

ファイルのキー取得

In [1]: import boto3

In [7]: import botocore

In [21]: s3 = boto3.resource('s3', aws_access_key_id=S3_ACCESS_KEY, aws_secret_access_key=S3_SECRET_KEY,)

In [22]: try:
    ...:     s3.meta.client.head_bucket(Bucket=S3_BUCKET)
    ...: except Exception as e:
    ...:     print(e)
    ...:
    ...:

In [23]: for bucket in s3.buckets.all():
    ...:     for key in bucket.objects.all():
    ...:          print(key.key)
    ...:

ファイルダウンロード

In [26]:try:
   ...:     s3.Bucket(S3_BUCKET).download_file(KEY, FILE)
   ...: except botocore.exceptions.ClientError as e:
   ...:     if e.response['Error']['Code'] == "404":
   ...:         raise S3FileNotFound
   ...:     else:
   ...:         raise

Boto 3 Documentation — Boto 3 Docs 1.7.19 documentation