Python 3.x 如何使用python 3.8获取AWS S3对象位置/URL?
我正在使用AWS Lambda函数(Python3.8)将一个文件上载到AWS S3,代码如下Python 3.x 如何使用python 3.8获取AWS S3对象位置/URL?,python-3.x,amazon-web-services,amazon-s3,aws-lambda,Python 3.x,Amazon Web Services,Amazon S3,Aws Lambda,我正在使用AWS Lambda函数(Python3.8)将一个文件上载到AWS S3,代码如下 file_obj = open(filename, 'rb') s3_upload = s3.put_object( Bucket="aaa", Key="aaa.png", Body=file_obj) return { 'statusCode': 200, 'body': json.dumps("Execut
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")
}
我想在return
中获取S3对象的位置/url。在Node.js
中,我们使用.location
参数获取对象位置/url
您知道如何使用python 3.8实现这一点吗?S3对象的url具有已知格式,如下所示: 因此,您可以自己构造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})
}
它返回
null
这是我这边的问题。现在很好用。谢谢你的帮助。
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})
}