【问题标题】:Make a file in s3 public using python and boto3使用 python 和 boto3 在 s3 中公开文件
【发布时间】:2017-03-26 09:31:12
【问题描述】:

我需要更新 boto3 来解决这个问题 Make a file in s3 public using python and boto

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) 不存在这一事实 - 对象仅存在于存储桶中,而不是单独存在。

标签: python amazon-s3 boto3


【解决方案1】:

由于您要上传对象,最简单的方法是将访问控制列表 (ACL) 指定为上传的一部分:

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

或者,您可能希望添加适用于整个存储桶(或存储桶中的特定路径)的Bucket Policy,而不是将策略应用于每个单独的对象。

【讨论】:

    猜你喜欢
    • 2021-10-15
    • 2015-11-30
    • 2015-06-07
    • 2020-12-12
    • 2017-06-13
    • 1970-01-01
    • 2017-04-21
    • 1970-01-01
    • 2021-05-22
    相关资源
    最近更新 更多