首页 > 解决方案 > 从指定的 S3 目录列表中检索内容

问题描述

S3 bucket有没有办法通过仅调用一次云 API来从指定的目录列表中检索所有文件的列表?

例如,假设我的S3云服务具有以下结构:

A/
 AA/
   XXX/

B/
 BB/
   /EMPTY

C/
 /EMPTY

D/
 DD/
   XXX/

而且我还有我希望从中检索内容的目录列表:

Requested Paths: {
    "A/AA/XXX",
    "B/BB/XXX",
    "C/CC/XXX",
    "D/DD/XXX"
}

我想创建一个包含键/值对的映射,其中键由特定目录路径表示,值由其内容表示。如果路径不存在,则键/值对不应该存在以太。像这样的东西:

Map {
   "A/AA/XXX" : Content
   "D/DD/XXX" : Content
}

请注意,没有对应的键,B/BB/XXX因为C/CC/XXXXXX不是B/BB//pathCC/XXX的一部分,也不是C/ 路径 ether 的一部分。

标签: amazon-web-servicesgoamazon-s3

解决方案


不是一次调用,不是 - 特别是如果您有足够的对象来触发分页结果。ListObjects需要ListObjectsInputwherePrefix是单个字符串,而不是切片/数组。


推荐阅读