gpt4 book ai didi

python - aws 命令行有效但无法获得等效的 boto

转载 作者:行者123 更新时间:2023-11-28 18:38:51 26 4
gpt4 key购买 nike

我有一个包含子文件夹 ABC 的存储桶。 ACL 已设置,因此我给定的访问 key 只能上传到子文件夹 ABC

下面的命令行有效

aws s3 cp local-file-name s3://my-bucket/ABC/

我正在尝试从 boto 做同样的事情

conn = S3Connection(access_key, secret_access_key)
b = conn.get_bucket('my-bucket')
k = Key(b)
k.key = 'ABC/Hello'
k.set_contents_from_string("Hello World")
print (k.get_contents_from_string())

boto.exception.S3ResponseError: S3ResponseError: 403 Forbidden

我知道这是与 ACL 相关的,因为当我将 key 交换到具有完全访问权限的集合时它起作用了。

那么为什么使用受限键命令行可以工作但 boto 不能?

我是否需要授予受限 key 列表访问存储桶的权限?

最佳答案

默认情况下,boto 在 get_bucket 调用期间尝试通过执行 HEAD 请求来验证存储桶。对于您的场景,这将失败,因此请告诉 boto 跳过此验证步骤:

b = conn.get_bucket('my-bucket', validate=False)

关于python - aws 命令行有效但无法获得等效的 boto,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29576822/

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