当前位置: 首页 > 知识库问答 >
问题:

使用Postman获取aws桶内容列表-"获取桶(版本2)"RestAPI

张玺
2023-03-14

我正在使用邮递员发送AWS S3 RestAPI“Get Bucket(Version 2)”以获取Bucket列表。

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

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

我需要添加“列表类型”作为查询参数还是作为标题?如果作为查询参数,我如何在url中声明它。

我得到以下回复,其中不包含内容列表,只包含有关bucket本身的信息:

<?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个答案

陶征
2023-03-14

精选答案绝对有效!谢谢你们

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

获取/XXXXXXXX/?列表类型=2 HTTP/1.1主机:s3。美国西部1号。亚马逊。com授权:AWS4-HMAC-SHA256凭证=xxxxxxxxxxxxxxx/00000000/us-west-1/s3/AWS4_请求,SignedHeaders=host;x-amz-content-sha256;x-amz-date,签名=;lkasdfl;kajsdfk;贾斯德;kfjas;ldkfjas;ldkfja;skjdf;askdjf;lkasdjf

-方法

甄煜
2023-03-14

您可以执行以下操作:

  1. 将方法设置为GET
  2. 在URL:https://s3.amazonaws.com/test-bucket-1.ahadomain.com/?list-type=2
    注意:如果您的存储桶的区域不在us-East-1中,请更改s3.amazonaws.com以更正该区域的S3endpoint。
  3. 在授权选项卡中,设置以下内容:
    a.类型:AWS签名
    b.
    c.
    d.AWS区域:us-East-1
    注意:如果这不是您的桶的区域,请更改此
    e。服务名称:s3
    f.选中保存助手数据到请求
  4. 转到标题选项卡,删除所有条目,如果有的话。
  5. 然后点击发送按钮

这是样品结果

 类似资料:
  • 我需要添加“列表类型”作为查询参数还是作为标题?如果作为查询参数,如何在URL中声明它。 我得到了以下响应,它不包含内容列表,只是关于bucket本身的信息: 任何帮助都将不胜感激。 谢谢你,艾哈迈德。

  • 我通过执行以下操作读取S3存储桶中的文件名 现在,我需要获取文件的实际内容,类似于打开(filename).readlines()。最好的方法是什么?

  • 我的问题类似于这个如何使用节点js获取谷歌云存储文件夹中的文件列表。 我只是想得到顶级的物体。我试着在这里跟随nodejs storage samples files.js,当我尝试“prefix”和“deliminator”的不同组合时,我很难获得顶级对象。我已尝试使用前缀“”和去污剂“/”。我尝试了前缀“/”和去污剂“/”。我尝试了一个前缀“/”没有除沫器。似乎并没有什么能让我只得到顶级对象的

  • 有人能帮我下载从aws SES保存到s3桶的附件(原始MIME)吗?所以,我把收到的邮件保存到一个s3桶中,如果有附件,它只显示一个原始的MIME,就像 然后我有一个base64编码的原始MIME 我想通过lambda函数提取附件部分,并将其保存到另一个s3存储桶中。我可以将保存的邮件的文件名作为事件(lambda)中的“密钥”元数据。 想看看我如何通过lambda函数,在我得到的密钥的帮助下提取

  • 在S3中,我如何使用Bot3

  • 问题内容: 我这样做是读取了S3存储桶中的文件名 现在,我需要获取文件的实际内容,类似于。什么是最好的方法? 问题答案: boto3提供了一种资源模型,该资源模型使诸如迭代对象之类的任务变得更加容易。不幸的是,StreamingBody不提供或。