インストール
$ pip install boto3
$ pip install awscli
初期設定
$ aws configure
AWS Access Key ID: [AWS Access Key ID]
AWS Secret Access Key: [AWS Secret Access Key]
Default region name: ap-northeast-1
Default output format:
S3の操作
バケットの作成
import boto3
s3 = boto3.resource('s3')
bucket = s3.Bucket('[バケット名]')
bucket.create()
バケットの削除
import boto3
s3 = boto3.resource('s3')
bucket = s3.Bucket('[バケット名]')
bucket.delete()
すべてのバケットを取得
import boto3
s3 = boto3.resource('s3')
for bucket in s3.buckets.all():
print(bucket)
#s3.Bucket(name='[バケット名1]')
#s3.Bucket(name='[バケット名2]')
#...
バケット内のすべてのオブジェクトを取得
import boto3
s3 = boto3.resource('s3')
bucket = s3.Bucket('[バケット名]')
for object in bucket.objects.all():
print(object)
#s3.ObjectSummary(bucket_name='[バケット名]', key=u'[ファイル名1]')
#s3.ObjectSummary(bucket_name='[バケット名]', key=u'[フォルダ名1]/')
#s3.ObjectSummary(bucket_name='[バケット名]', key=u'[フォルダ名1]/[ファイル名2]')
#...
バケットのサイズを取得する
s3 = boto3.resource('s3')
bucket = s3.Bucket('[バケット名]')
bucket_size = 0
for object in bucket.objects.all():
bucket_size += object.size
print('Bucket Size: {} bytes'.format(bucket_size))
#Bucket Size: [サイズ] bytes
ファイルをダウンロードする
import boto3
s3 = boto3.resource('s3')
s3.Object('[バケット名]', '[ファイル名(S3)]').download_file('[ファイル名(ローカル)]')
ファイルをアップロードする
import boto3
s3 = boto3.resource('s3')
s3.Object('[バケット名]', '[ファイル名(S3)]').upload_file('[ファイル名(ローカル)]')
署名付きURLを生成する
import boto3
s3 = boto3.client('s3')
presigned_url = s3.generate_presigned_url(
ClientMethod = 'get_object',
Params = {'Bucket' : '[バケット名]', 'Key' : '[ファイル名]'},
ExpiresIn = [有効期間(秒)],
HttpMethod = 'GET')
print(presigned_url)