我正在尝试使用S3 API来获取存储桶的位置(区域)。我正在关注文档(http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETlocation.html)
我构建了以下请求:
GET http://s3.amazonaws.com/?location
Host: bucketname.s3.amazonaws.com
Date: Thu, 03 Mar 2011 18:21:59 GMT
Authorization: AWS <my auth string>
但是我没有获得“LocationConstraint”XML响应,而是获得了“ListAllMyBucketsResult”(它只列出了我帐户中的所有存储桶)。
我做错了什么?顺便说一句,我正在测试的水桶位于欧盟。
答案 0 :(得分:0)
听起来像是电话中的错误。我会从s3cmd.rb或s3cmd开始,以确保您从公开审核的工具中获取信息。尝试:
s3cmd info s3://my-bucket-name
或 s3cmd.rb location my-bucket-name
应该为您提供位置信息。显然你需要配置s3 auth的东西。
答案 1 :(得分:0)
回答我自己的问题,我找到了解决方案:
存储桶名称也必须包含在URL中,如下所示:
GET http://bucketname.s3.amazonaws.com/?location
Host: bucketname.s3.amazonaws.com
Date: Thu, 03 Mar 2011 18:21:59 GMT
Authorization: AWS <my auth string>