首页 > 解决方案 > 如何在 S3 java 中复制/下载文件的所有版本

问题描述

我正在尝试找到一种方法将文件的所有版本从 S3 下载或复制到不同文件夹中的 S3 存储桶。

标签: amazon-web-servicesamazon-s3downloadcopyfileversioninfo

解决方案


S3 中对象的每个版本都是(某种程度上)一个单独的对象。他们只是碰巧共享相同的密钥。

不可能对象及其所有版本一起复制。

相反,您需要单独复制每个版本,从最早的版本开始到最新的版本(以便它们以正确的顺序“堆叠”)。

可以使用CopyObject()方法执行复制,指定sourceVersionId. 新复制的版本将具有不同的 ID。

Same-Region Replication 和 Cross-Region Replication 可以保留对象版本,但只能复制到不同的存储桶(不能复制到不同的目录)。


推荐阅读