使用邮递员获取aws桶内容列表 - “获取存储桶(版本2)”RestAPI

时间:2017-09-13 19:05:41

标签: rest amazon-web-services amazon-s3

我正在使用Postman发送AWS S3 RestAPI“获取存储桶(版本2)”以获取存储桶列表。

存储桶的名称是“test-bucket-1.ahadomain.com”(ahadomain.com是我在aws中命名存储桶时使用的虚拟不存在的域)。我使用的用户凭据具有进行S3调用的所有权限。我正在关注页面上的信息 - http://docs.aws.amazon.com/AmazonS3/latest/API/v2-RESTBucketGET.html

我正在使用端点:https://test-bucket-1.s3.us-east-1.amazonaws.com 我发送以下标题:内容类型,主机,X-Amz-Content-Sha256,X-Amz-Date,授权

我是否需要添加“list-type”作为查询参数或标题?如果作为查询参数,我如何在网址中说明。

我收到以下回复,其中不包含内容列表,只是关于存储桶本身的信息:

<?xml version="1.0" encoding="UTF-8"?>
<ListAllMyBucketsResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
    <Owner>
        <ID>6893100ea2b48696e8ccc3aa17414f4325cf59b574474ad9de0bcb0d139590c9</ID>
        <DisplayName>ahmedsmail</DisplayName>
    </Owner>
    <Buckets>
        <Bucket>
            <Name>test-bucket-1.ahadomain.com</Name>
            <CreationDate>2017-09-06T06:36:15.000Z</CreationDate>
        </Bucket>
    </Buckets>
</ListAllMyBucketsResult>

非常感谢任何帮助。

谢谢你, 艾哈迈德。

2 个答案:

答案 0 :(得分:7)

您可以执行以下操作:

  1. 将方法设置为GET
  2. 网址中的
  3. https://s3.amazonaws.com/test-bucket-1.ahadomain.com/?list-type=2
    注意:如果您的存储区域不在us-east-1中,请将s3.amazonaws.com更改为该区域的正确S3端点。
  4. 在“授权”选项卡中,设置以下内容:
    一个。类型:AWS签名
    湾AccessKey:
    C。 SecretKey:
    d。 AWS区域:us-east-1
      注意:如果这不是您的铲斗区域,请更改此项 即服务名称:s3
    F。选中“保存帮助数据以请求”
  5. 转到“标题”标签,删除所有条目(如果有)。
  6. 然后点击“发送”按钮
  7. Here sample result

答案 1 :(得分:0)

选择的答案绝对有效! 谢谢

Tool:  Postman
function:  Get
Address:  https://s3.us-west-1.amazonaws.com/XXXXXXXX/?list-type=2
Region:  I am on us-west-1, **this is most common mistake people miss**. 

看起来像下面,得到200

GET / XXXXXXXX /?list-type = 2 HTTP / 1.1 主机:s3.us-west-1.amazonaws.com 授权:AWS4-HMAC-SHA256凭证= XXXXXXXXXXXXXXXXX / 00000000 / us-west-1 / s3 / aws4_request,SignedHeaders = host; x-amz-content-sha256; x-amz-date,Signature =; lkasdfl; kajsdfk; jasd; kfjas; ldkfjas; ldkfja; skjdf; askdjf; lkasdjf

-方法