使用Python和Boto3使S3中的文件公开

5
我需要对这个问题进行boto3的更新。 使用Python和Boto使S3中的文件公开
s3.Bucket('gentle-persuader-emoji').put_object(Key=emoji_png_file, Body=image)
response = s3.object(emoji_png_file).put_object_acl('ACL=public-read')

出错了

AttributeError: 's3.ServiceResource' object has no attribute 'object'

你的错误是因为s3.object(emoji_png_file)不存在——一个对象只存在于存储桶中,而不是独立存在。 - John Rotenstein
1个回答

14

由于您正在上传对象,最简单的方法是在上传过程中指定访问控制列表(ACL):

s3.Bucket('gentle-persuader-emoji').put_object(Key=emoji_png_file, Body=image, ACL='public-read')

您可以选择添加一个Bucket Policy,该策略适用于整个存储桶(或存储桶中特定路径),而不是在每个单独对象上应用策略。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接