在 Amazon S3 中,我在该存储桶下创建了 1 个存储桶,多个子文件夹(如
<bucket_name>/<year>/<month>/<day>/files
(ieobjects))。
我想要功能,我可以根据要求按年/月/日下载批量对象,所有文件都是 zip。
有什么方法可以通过 Amazon Java SDK 做到这一点?
在 Amazon S3 中,我在该存储桶下创建了 1 个存储桶,多个子文件夹(如
<bucket_name>/<year>/<month>/<day>/files
(ieobjects))。
我想要功能,我可以根据要求按年/月/日下载批量对象,所有文件都是 zip。
有什么方法可以通过 Amazon Java SDK 做到这一点?
MultipleFileDownload
Transfer Manager 库提供了一种方法,该方法提供整个虚拟目录的多个文件下载。但是,内容没有压缩。
请参阅:MultipleFileDownload javadoc
由于您的对象按年/月/日在目录中,因此您可以使用此方法下载特定路径中的所有文件。但是,文件不会被压缩。
您可以使用mc工具实现它:
mc cp -r https://bucketName.s3.amazonaws.com/<year>/<month>/<day> backupdir
它从 S3 复制到本地目录backup
然后您可以backup
通过以下方式压缩目录:
zip backupdir.zip -r backupdir