生命周期规则是 COS 降低存储成本最直接的手段,但它是“配置后由系统自动执行”的操作,尤其是过期删除,配错范围就是批量删数据。本文整理一份上线前自检流程,基于官方文档《配置生命周期》《生命周期配置元素》中的约束,具体参数以控制台和文档为准。
最常见事故是规则作用于整个存储桶。建议一条规则只覆盖一个明确前缀,例如在控制台填写:
# 规则名称: logs-archive
# 范围: 按前缀 logs/先用 COSCLI 或控制台列出该前缀下的对象,确认里面没有不该被处理的内容:
# 按前缀统计对象,确认范围
coscli ls cos://examplebucket-1250000000/logs/ -r | tail -n 20注意前缀 logs/ 和 logs 不同,后者会匹配 logs-backup/ 之类的对象。目录语义请带上结尾斜杠。
转换和删除要有先后,且过期时间必须大于转换时间。以日志为例:
<Rule>
<ID>logs-archive</ID>
<Filter><Prefix>logs/</Prefix></Filter>
<Status>Enabled</Status>
<Transition>
<Days>30</Days>
<StorageClass>STANDARD_IA</StorageClass>
</Transition>
<Transition>
<Days>90</Days>
<StorageClass>ARCHIVE</StorageClass>
</Transition>
<Expiration>
<Days>365</Days>
</Expiration>
</Rule>这表示最后修改后 30 天转低频、90 天转归档、365 天删除。上线前核对:
大文件分块上传中断后,已上传的分块仍占用存储。生命周期里有清理未完成分块上传的配置项,可以在控制台同一页面添加,也可以单独建一条规则。建议对上传频繁的桶配置,天数保守一些(例如 7 天),避免误清理仍在进行的超长上传。具体字段名称以《生命周期配置元素》文档为准。
lifecycle-test/,放几个对象。检查对象当前存储类型:
coscli ls cos://examplebucket-1250000000/lifecycle-test/ -r生命周期规则的风险在于“静默执行”。把范围写窄、时间线排好、先灰度再放量,基本能避开大部分事故。过期删除类规则尤其建议在变更前让第二个人复核前缀与天数。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。