gpt4 book ai didi

python - AWS S3 - 403禁止读取文件 - Boto Python

转载 作者:太空宇宙 更新时间:2023-11-03 17:19:51 24 4
gpt4 key购买 nike

我可以使用 boto 创建文件:

s3 = boto.connect_s3(aws_access_key_id='XXXX', aws_secret_access_key='XXX')
pb = s3.get_bucket(b_path)
k = Key(pb)
k.name = f_path
k.set_contents_from_string(content)

当我尝试读取同一个文件时,我得到:

boto.exception.S3ResponseError: S3ResponseError: 403 Forbidden

如果我转到 S3 Web 界面,并将权限设置为每个人读/写,现在我可以访问该文件。

PS:当我创建文件时,所有者是另一个用户,不是我的。是这个问题吗?

最佳答案

如果使用第三方凭据将对象上传到您的存储桶,则默认情况下,您作为存储桶所有者不拥有该对象的任何所有权(第三方拥有)。

在这种情况下,作为存储桶所有者,您所能做的就是列出该对象并将其删除(您可以执行此操作,因为您要为其在存储桶中的存储付费)。特别是,您无法读取或修改对象的 ACL,也无法获取该对象(除非所有者明确授予您读取权限或将对象公开)。

要控制对象,您需要上传者提供一个预设的 ACL,以便您可以完全控制。上传者可以通过在调用 put() 时提供 ACL='bucket-owner-full-control' 来实现此目的。或者,我相信您可以提供 GrantFullControl='xyz',指示受让人。

关于python - AWS S3 - 403禁止读取文件 - Boto Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33282760/

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