4

为什么我在使用 s3 和 boto 时会出现此错误?

<Error><Code>BucketAlreadyOwnedByYou</Code><Message>Your previous request to create the named bucket succeeded and you already own it.</Message><BucketName>rtbhui</BucketName><RequestId>84115D3E9513F3C9</RequestId><HostId>+3TxrA34xHcSx0ecOD3pseRnE+LwUv3Ax1Pvp3PFoE8tHfOcn5BXyihc9V/oJx2g</HostId></Error>

s3 = boto.connect_s3(parms['AWS_ACCESS_KEY_ID'], parms['AWS_SECRET_ACCESS_KEY'])
bucket = s3.create_bucket(bucket_name)
k = Key(bucket) #bucket is global
k.key = bucket_path_and_key #'test/test/test'
4

3 回答 3

6

BucketAlreadyOwnedByYou错误只会在美国标准区域之外返回。在美国标准区域内(即当您未指定位置限制时),尝试重新创建您已经拥有的存储桶将成功。

来源 http://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html

于 2013-05-15T09:30:39.907 回答
2

显然,同名容器已经存在。

于 2012-04-27T07:25:28.387 回答
0

由于您已经有一个存储桶,您可以删除最后三行代码并将它们替换为以下内容:

bucket = conn.get_bucket(bucket, validate = False)
k = Key(bucket)
k.key = key
于 2015-08-04T02:33:23.153 回答