【问题标题】:Bulk objects download in Amazon s3在 Amazon s3 中下载批量对象
【发布时间】:2016-02-21 09:41:53
【问题描述】:
在 Amazon S3 中,我在该存储桶的多个子文件夹下创建了 1 个存储桶,例如
<bucket_name>/<year>/<month>/<day>/files(即对象)。
我想要功能,我可以按年/月/日下载批量对象,所有文件都在 zip 中。
Amazon Java SDK 有什么方法可以做到这一点吗?
【问题讨论】:
标签:
java
amazon-web-services
amazon-s3
cloud
aws-java-sdk
【解决方案1】:
Transfer Manager 库提供了一个MultipleFileDownload 方法,该方法提供整个虚拟目录的多个文件下载。但是,内容没有压缩。
见:MultipleFileDownload javadoc
由于您的对象按年/月/日在目录中,您可以使用此方法下载特定路径中的所有文件。但是,文件不会被压缩。
【解决方案2】:
您可以使用mc 工具来实现它:
mc cp -r https://bucketName.s3.amazonaws.com/<year>/<month>/<day> backupdir
它从 S3 复制到本地目录backup
然后您可以通过以下方式压缩backup 目录:
zip backupdir.zip -r backupdir