PythonのAWS SDKであるbotoを使ってS3の署名付きURLを生成する。
URLだけを生成する
1つのアイテムのURLを生成するだけならコネクションから直接生成するのがお手軽な方法。
conn = boto.connect_s3(aws_access_key_id, aws_secret_access_key)
url = conn.generate_url(expire_second, method='GET',
bucket='bucket_name', key='path/to/file')
Bucketオブジェクトを生成してから生成する
バケットの中のアイテムを探しながらの場合はこちらの方が楽。
conn = boto.connect_s3(aws_access_key_id, aws_secret_access_key)
bucket = conn.get_bucket('bucket_name')
key = bucket.get_key('path/to/file')
url = key.generate_url(expire_second)
全リストならこんな感じ。
bucket = (boto.connect_s3(aws_access_key_id, aws_secret_access_key)
.get_bucket('bucket_name'))
for key in bucket.get_all_keys():
print(key.generate_url(60))