以任何方式为现有对象启用Amazon S3版本?

我在AWS S3 Object Versioning上读到的所有信息都特别提到了这一点:

在设置版本控制状态之前存储在存储桶中的对象的版本ID为null。 启用版本控制时,存储桶中的现有对象不会更改。 Amazon S3在将来的请求中如何处理对象有哪些变化。 本节中的主题介绍启用版本控制的存储桶中的各种对象操作。

资源

我目前在一个桶中有大约2TB(370K个对象)的数据。 我的理解是,如果我现在打开版本,那么未来的对象将会被版本化。 我的问题:现有的物体呢? 我坚持没有他们没有版本或有没有一种方式来版本他们没有下载/重新上传? 我在Google Fu上找不到任何信息,所以想在这里集合一下。

谢谢。

对不起,但你卡住了。

必须启用版本才能访问以前的版本。

禁用版本 暂停版本的情况下,您无法检索任何types的更新日志。 该文件被简单地覆盖。

如果存储区中已经存在null版本,则会覆盖null版本,如下图所示。

版本图

  • 将对象添加到版本挂起的存储桶

在没有启用版本的情况下,遵循相同的策略。 但看起来更像这样:

没有版本控制

版本ID为null的对象只是继续被覆盖。 如果AWS在默认情况下设置了版本控制,则可能会耗尽空间。

更新:启用时,存储桶中的项目将立即开始版本控制。

  • @迈克尔- sqlbot

当您打开桶上的版本控制时,现有对象不会获得版本ID。 相反,它们的版本ID为null 。 任何以前的版本都不会“自动恢复”。

除此之外,现有对象将在未来正常版本化。

添加到桶中或更改的新对象将被赋予一个唯一的版本ID。

启用版本控制后,如果列出对象的所有版本,则会注意到最后(最早)版本的版本ID为null ,如果在版本控制启用之前原始版本存在。