pyhton3.8を使用してAWSS3オブジェクトの場所/ URLを取得するにはどうすればよいですか?
Nov 23 2020
次のコードでAWSLambda関数(Python3.8)を使用してAWSS3にファイルをアップロードしています。
file_obj = open(filename, 'rb')
s3_upload = s3.put_object( Bucket="aaa", Key="aaa.png", Body=file_obj)
return {
'statusCode': 200,
'body': json.dumps("Executed Successfully")
}
でS3オブジェクトの場所/ URLを取得したいreturn
。では、オブジェクトの場所/ URLを取得Node.js
するための.location
パラメータを使用します。
Python 3.8を使用してこれを行う方法はありますか?
回答
2 Marcin Nov 24 2020 at 05:40
S3オブジェクトのURLは既知の形式であり、仮想ホストスタイルのアクセスに従います。
https://bucket-name.s3.Region.amazonaws.com/keyname
したがって、URLを自分で作成できます。
bucket_name = 'aaa'
aws_region = boto3.session.Session().region_name
object_key = 'aaa.png'
s3_url = f"https://{bucket_name}.s3.{aws_region}.amazonaws.com/{object_key}"
return {
'statusCode': 200,
'body': json.dumps({'s3_url': s3_url})
}