看起来AWSS3TransferManagerDownloadRequest需要一个URL。您可以附加一个存储桶,但我没有看到附加任何类似前缀的选项。也就是说,我希望能够下载给定存储桶名称的所有文件夹,然后从所述文件夹中提取项目。
答案 0 :(得分:0)
从技术上讲,Amazon S3没有"目录"的概念。如果您有三个具有以下键的对象abc/01.test
,abc/02.test
和abc/03.test
,则AWS管理控制台会显示一个"目录"名为abc
,在该目录中,您会找到01.test
,02.test
和03.test
。
您可以将/
设置为delimiter
属性并致电- listObjects:
。查看commonPrefixes
以获取"目录"的列表。对于上面的示例,commonPrefixes
应该是包含abc
。
然后,您可以将prefix
设置为abc/
并再次调用- listObjects:
以获取"目录"下的对象列表。在上面的示例中,它应该返回abc/01.test
,abc/02.test
和abc/03.test
。
对于每个对象,您可以使用给定的- download:
来呼叫key
。 (AWSS3TransferManagerDownloadRequest
是AWSS3GetObjectRequest
)的孩子。