我尝试访问存储桶内的 key ,尽管我有该 key 的权限,但我没有该权限。
为了能够执行 get_key('this/is/my_key')
,我需要存储桶对象:
conn = boto.connect_s3(key, secret_key)
my_bucket = conn.get_bucket('a_bucket')
产生S3ResponseError: S3ResponseError: 403 Forbidden
。
另一方面,以下作品
my_bucket = boto.s3.bucket.Bucket(conn, 'a_bucket')
my_bucket.get_key('this/is/my_key')
问题:创建对象 Bucket
和使用 get_bucket
方法有什么区别?
检查docu我只看到验证检查。还有什么吗?
最佳答案
调用时,get_bucket
中的验证(validate=True
默认值)会检查存储桶是否存在。由于您无权访问该存储桶,因此您的请求被拒绝 (403)。在另一种情况下,类实例化似乎没有进行验证,因此 get_key
方法按预期工作。
关于python - boto s3 Bucket 与 get_bucket,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42717551/