在 Amazon s3 中批量下载对象

Bulk objects download in Amazon s3

在 Amazon S3 中,我在该存储桶下创建了 1 个存储桶多个子文件夹,例如 <bucket_name>/<year>/<month>/<day>/files (i.e.objects).

我想要根据要求按年/月/日下载批量对象的功能,所有文件都是 zip。

有什么方法可以通过 Amazon Java SDK 做到这一点吗?

Transfer Manager 库提供了一个 MultipleFileDownload 方法,它提供 整个虚拟目录的多个文件下载 。但是,内容并未压缩。

参见:MultipleFileDownload javadoc

由于您的对象位于 year/month/day 的目录中,您可以使用此方法下载特定路径中的所有文件。但是,文件不会被压缩。

您可以使用 mc 工具实现它: mc cp -r https://bucketName.s3.amazonaws.com/<year>/<month>/<day> backupdir 它从 S3 复制到本地目录 backup

然后您可以通过以下方式压缩 backup 目录: zip backupdir.zip -r backupdir