gpt4 book ai didi

Python 3 博托 3,AWS S3 : Get object URL

转载 作者:太空狗 更新时间:2023-10-30 01:56:44 26 4
gpt4 key购买 nike

我需要在上传文件后直接检索公共(public)对象 URL,以便能够将其存储在数据库中。这是我的上传代码:

   s3 = boto3.resource('s3')
s3bucket.upload_file(filepath, objectname, ExtraArgs={'StorageClass': 'STANDARD_IA'})

我不是在寻找预签名的 URL,而是始终可以通过 https 公开访问的 URL。

感谢任何帮助。

最佳答案

没有简单的方法,但您可以从存储桶所在的区域(get_bucket_location)、存储桶名称和存储 key 构造 URL:

bucket_name = "my-aws-bucket"
key = "upload-file"

s3 = boto3.resource('s3')
bucket = s3.Bucket(bucket_name)
bucket.upload_file("upload.txt", key)
location = boto3.client('s3').get_bucket_location(Bucket=bucket_name)['LocationConstraint']
url = "https://s3-%s.amazonaws.com/%s/%s" % (location, bucket_name, key)

关于Python 3 博托 3,AWS S3 : Get object URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48608570/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com