对于us-east-1存储桶,s3api get-bucket-location返回null

时间:2016-11-08 21:31:56

标签: amazon-web-services amazon-s3

不知道为什么会发生这种情况,但是为位置调用获取null

aws --version
aws-cli/1.10.62 Python/2.7.11 Darwin/16.1.0 botocore/1.4.52
aws> s3api get-bucket-location --bucket joshuacalloway-us-east-2-bucket
{
    "LocationConstraint": "us-east-2"
}
aws> s3api get-bucket-location --bucket joshuacalloway-us-east-1-bucket
{
    "LocationConstraint": null
}

1 个答案:

答案 0 :(得分:6)

us-east-1是某个AWS文档中讨论的特定区域,如下所示:

https://aws.amazon.com/fr/blogs/developer/leveraging-the-s3-and-s3api-commands/

  

例如,如果我使用s3命令在法兰克福地区制作一个桶:

$ aws s3 mb s3://myeucentral1bucket --region eu-central-1
make_bucket: s3://myeucentral1bucket/`
     

然后我可以使用s3api get-bucket-location来确定我新创建的存储区的区域:

$ aws s3api get-bucket-location --bucket myeucentral1bucket
{
    "LocationConstraint": "eu-central-1"
}
     

如上所示,输出JSON中LocationConstraint成员的值是存储区的预期区域eu-central-1请注意,对于在美国标准区域us-east-1中创建的存储桶,LocationConstraint的值将为空。作为位置约束如何与区域对应的快速参考,请参阅AWS区域和终点指南。

http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region

  

如果您使用美国东部(弗吉尼亚北部)端点以外的区域来创建存储桶,则必须将LocationConstraint存储桶参数设置为相同的区域