问题描述
我正在尝试找到一种方法,将文件的所有版本从 S3 下载或复制到不同文件夹中的 S3 存储桶。
解决方法
S3 中对象的每个版本都是(某种程度上)一个单独的对象。他们只是碰巧共享同一个密钥。
不可能复制一个对象及其所有版本。
相反,您需要单独复制每个版本,从最早的版本到最新的版本(以便它们以正确的顺序“堆叠”)。
可以使用 CopyObject()
方法执行复制,指定一个 sourceVersionId
。新复制的版本将具有不同的 ID。
Same-Region Replication 和 Cross-Region Replication 可以保留对象版本,但只能复制到不同的bucket(不能复制到不同的目录)。