复制桶的s3内容,包括所有版本

我有几个S3存储桶,我想把它们交给另一个组织,因为我们正在将一个现有的托pipe客户端交给他们。

在查看文档之后,如果我不再想要为存储桶负责,似乎最简单的select是将新存储桶的内容复制到由新组织控制的新存储桶中,并使任何现有应用程序写入文件从现在起到新的水桶。

斗不是很大:

aws s3 ls --human-readable --recursive --summarize s3://some-client-bucket # (snip… lots of files listed, all less than 10mb) # Total Objects: 22764 # Total Size: 2.4 GiB 

但是,有些文件是版本化的,我每天都会看到一些去年的文件快照,我也希望能够跨越这些文件。

有没有一个简单的方法来做到这一点?

我知道如何将一个存储桶的当前内容复制到由另一个组织控制的新存储内容,然后授予我访问权限,如下所示:

 aws s3 sync s3://some-client-bucket s3://new-client-bucket --recursive 

但是,我不认为这也会跨越这些版本,而我一直依靠S3的每个文件版本,而不是自己的时间戳文件。

我是否需要偷工减料?

  • 下载每个版本化的文件
  • 用时间戳重命名
  • 将其上传到新的存储桶

或者是S3有一些漂亮的额外function为我自动做到这一点?