Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 如何使用python 3.8获取AWS S3对象位置/URL?_Python 3.x_Amazon Web Services_Amazon S3_Aws Lambda - Fatal编程技术网

Python 3.x 如何使用python 3.8获取AWS S3对象位置/URL?

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

我正在使用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("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})
}