【发布时间】:2015-03-28 14:19:41
【问题描述】:
我正在使用 Boto 尝试在 Amazon S3 中获取存储桶,但是当我对某些存储桶使用 get_bucket() 时,它会返回错误请求。我开始怀疑这是否是 Boto 的错误,因为我可以使用 get_all_buckets() 获取存储桶。
>>> from boto.s3.connection import S3Connection
>>> conn = S3Connection(S3_ACCESS_KEY, S3_SECRET_KEY)
>>> buckets = conn.get_all_buckets()
>>> buckets
[<Bucket: mysite-backups>]
>>> buckets[0]
<Bucket: mysite-backups>
>>> conn.get_bucket('mysite-backups')
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/path/to/virtualenv/lib/python2.7/site-packages/boto/s3/connection.py", line 502, in get_bucket
return self.head_bucket(bucket_name, headers=headers)
File "/path/to/virtualenv/lib/python2.7/site-packages/boto/s3/connection.py", line 549, in head_bucket
response.status, response.reason, body)
S3ResponseError: S3ResponseError: 400 Bad Request
>>> conn.create_bucket('mysite_mybucket')
<Bucket: mysite_mybucket>
>>> conn.get_bucket('mysite_mybucket')
<Bucket: mysite_mybucket>
即使我使用与使用访问凭据相同的用户帐户登录并从 AWS 控制台中创建它,这似乎也是一个问题。
知道为什么会发生这种情况吗?
【问题讨论】: