【问题标题】:How to configure AWS S3 versioning only for restoring deleted files, not keeping multiple versions如何配置 AWS S3 版本控制仅用于恢复已删除的文件,而不是保留多个版本
【发布时间】:2021-12-09 09:08:04
【问题描述】:
目标
我想设置我们的存储分区,以便在文件被意外删除时可以恢复。但是,我不想保留一个文件的多个版本。
S3 上的文件应如下所示:
- image.jpg(当前)
- image.jpg(非当前)
或者这个:
- [删除标记](当前)
- image.jpg(非当前)
采取的行动
我已经在我的存储桶上启用了版本控制,并且我已经设置了如下图所示的生命周期策略。这是正确的吗?
【问题讨论】:
标签:
amazon-web-services
amazon-s3
【解决方案1】:
是的,您的生命周期政策是正确的。
但是,请注意,如果它们都是在同一天创建的,那么您可能会存储多个版本,因为当前对象变为非当前后的最短持续时间为 1。
您不能“阻止”多个版本同时存在,但您可以阻止它们在上次更新时间戳后至少 1 天1 存在。
根据上述政策,所有版本 - 除了文件的最新版本 + 之前的 1 个非当前版本 - 将在以下位置删除:
latest object modified time + 1 day & then rounded to next day midnight UTC
例如
- 版本 1 >
A.txt 创建 > 12 月 9 日星期四 10:00 UTC
- 版本 2 >
A.txt 更新 > 12 月 9 日星期四 12:00 UTC
- 版本 3 >
A.txt 更新 > 12 月 9 日星期四 13:00 UTC
在这种情况下,版本 3 是最新的当前版本,而版本 2 是最新的非当前版本,因此版本 1 将被安排删除。
版本 1 将在以下日期删除:
12 月 9 日星期四 13:00 UTC + 1 天,然后四舍五入到 UTC 次日午夜
12 月 9 日星期五 13:00 舍入到 UTC 次日午夜
世界标准时间 12 月 10 日星期六 00:00
只是指出仅供参考,有 1 天的“宽限期”。
1 1 天,如(1 天 + 舍入到 UTC 次日午夜所需的持续时间)