具有指定供应代码的容器存储位置不可用

时间:2017-02-15 20:23:28

标签: amazon-s3 object-storage

在使用s3 API创建存储桶时,我得到了

  

指定供应代码不可用的容器存储位置(服务:Amazon S3;状态代码:400;错误代码:InvalidLocationConstraint;请求ID:f377cc84-2e76-490b-8161-4407a4b8d9d7),S3扩展请求ID:null错误。

但是,我可以使用Softlayer上的服务门户创建一个存储桶。以编程方式我可以获取最新的存储桶列表甚至删除它,但创建会引发上述错误。

1 个答案:

答案 0 :(得分:0)

最近的更新引入了有关存储桶创建的意外行为,我们正在努力解决这个问题。系统期望位置约束为us-standard。在请求正文中提供以下XML块:

<CreateBucketConfiguration> 
  <LocationConstraint>us-standard</LocationConstraint>
</CreateBucketConfiguration>

如果使用SDK,您必须遵循所使用的特定库的约定。例如,使用boto3创建新存储桶可能如下所示:

bucket = s3.create_bucket(Bucket='my-bucket',
                          CreateBucketConfiguration={'LocationConstraint': 'us-standard'})

在java中,它看起来像:

s3.createBucket(bucketName, "us-standard");

这里是link to the docs(我们正在稳步改善它们)。

如果这没有帮助,或者您使用的是其他工具或SDK,请告诉我。 :)