不允许同时使用版本化存储桶和生命周期策略
AWS 文档指出,版本化存储桶和生命周期的组合是不可能的。
尝试在具有生命周期规则的存储桶上启用版本控制(使用管理控制台)将指示您首先删除规则。
未提供将生命周期规则添加到版本化存储桶中。
如何在版本化存储桶上存档内容
在相同的情况下,我使用以下解决方案:
1)首先将所有版本移动到“平桶”中 2)从平桶存档到冰川。
扁平桶是一个允许在非版本桶上存储版本的概念。OpenStack 项目swift以某种方式做到这一点,版本化存储桶中的每个密钥在平面上都有特殊的名称,形状为<hexprefix><original_key_name>/<epochtimeinmilis>
<hexprefix>
是三个字符长的十六进制数字(零填充),告诉您原始密钥名称的长度。这允许您在版本化存储桶上使用任意键名,即使名称类似于平面存储桶上使用的格式。前缀总是在这里告诉你,读取键名多远才能得到原始名称。
在我的解决方案中,我使用了一些不同的模式来表示上次修改时间。
建议 - 移动到扁平存储桶时,将文件打包成更大的块
由于 Amazon Glacier 有一些开销,您必须为此付费,因此建议将存档内容打包成更大的文件。我使用简单的焦油。文件大小的收支平衡点约为 16 kB,较小的文件存储在 Amazon Glacier 中的成本高于 AWS S3(该点是在上次价格下跌之前计算的,预计现在会更高)。