我希望我的S3存储桶受版本控制,以防止意外修改。此外,我希望我的S3中的对象在30天后归档到Glacier。
当我去启用版本控制时,它说
启用后,无法禁用版本控制,您将无法为此存储桶添加生命周期规则。
但是,我可以为存储桶添加生命周期规则,然后启用版本控制。
此外,在这种情况下如何恢复工作。比方说,例如,在第1天,我在我的存储桶文件A,B,C中。在第20天,我有文件A,B1,C1,D。在第30天,对象被移动到S3。现在当我在第40天进行恢复时,我仍然会在文件夹中包含文件B的所有版本吗?
答案 0 :(得分:3)
Amazon S3现在支持版本控制的生命周期规则
Amazon S3现在支持版本控制的生命周期规则。这意味着您现在可以使用S3存储桶的生命周期规则,无论它们是否已启用版本控制。
答案 1 :(得分:0)
AWS文档声明,版本化存储桶和生命周期的组合是不可能的。
尝试在具有生命周期规则的存储桶上启用版本控制(使用管理控制台)将指示您首先删除规则。
未提供将生命周期规则添加到版本化存储桶中。
出于同样的情况,我使用以下解决方案:
1)首先将所有版本移入“扁桶” 2)从扁桶存档到冰川。
扁平存储桶是一种允许在非版本存储桶上存储版本的概念。 OpenStack项目swift以某种方式完成它,即版本化存储桶中的每个键在<hexprefix><original_key_name>/<epochtimeinmilis>
<hexprefix>
是三个字符的长十六进制数字(零填充),告诉您原始密钥名称的长度。这允许您在版本化存储桶上使用任意键名,即使名称类似于扁平存储桶上使用的格式。前缀始终在这里告诉您,读取密钥名称到原始名称的距离。
在我的解决方案中,我使用了一个不同的模式来表示上次修改时间。
由于Amazon Glacier需要支付一些开销,因此建议将存档内容打包到更大的文件中。我用简单的焦油。文件大小的收支平衡点大约为16 kB,较小的文件以较高的成本存储在Amazon Glacier中,而不是在AWS S3中(该点在上次价格下降之前计算,现在预计会更高)。