小编Sur*_*eja的帖子

S3 ListObjectsV2 api 调用不返回内容

根据ListObjectsV2 - Amazon Simple Storage Service文档,当我指定 aPrefix和 a时Delimiter,我应该在响应中获取一个内容元素,并以 ETag 作为前缀。

<Contents>
    <Key>photos/2006/</Key>
    <LastModified>2016-04-30T23:51:29.000Z</LastModified>
    <ETag>"d41d8cd98f00b204e9800998ecf8427e"</ETag>
    <Size>0</Size>
    <StorageClass>STANDARD</StorageClass>
</Contents>
Run Code Online (Sandbox Code Playgroud)

我尝试使用 python sdk (boto3) 来运行它。

client.list_objects_v2(Bucket='bucketname', Prefix = "folder1-folder2-", Delimiter = "-")
Run Code Online (Sandbox Code Playgroud)

但在响应字典中,我找不到内容键。示例中响应的所有其他字段均存在。

dict_keys(['ResponseMetadata', 'IsTruncated', 'Name', 'Prefix', 'Delimiter', 'MaxKeys', 'CommonPrefixes', 'EncodingType', 'KeyCount'])
Run Code Online (Sandbox Code Playgroud)

这是 API 调用的响应中不再存在的内容吗?或者这是 SDK 没有显示的内容。还有一个后续问题,如果是 sdk 方面的问题,我如何进行 api 调用来返回该字段。

amazon-s3 amazon-web-services boto3

1
推荐指数
1
解决办法
6598
查看次数

标签 统计

amazon-s3 ×1

amazon-web-services ×1

boto3 ×1