能否为GCS存储桶内的特定文件夹/对象设置保留策略?
完全可以实现,两种功能的定位不同,你可以根据自己的实际场景选择:
方案适配说明
1. Object Lifecycles(对象生命周期规则)是该需求的首选实现方式
- 生命周期规则的设计初衷就是处理对象的自动生命周期管理,天然支持到期自动删除的能力
- 你可以针对特定前缀(即你所说的“特定文件夹”)配置规则,指定对象上传后达到设定天数时自动删除,也可以配置在固定的指定日期批量删除所有匹配该前缀的对象
- 如果需要针对单独的特定对象设置删除时间,你可以给对应对象打上自定义标签,配置生命周期规则匹配对应标签的对象到期删除即可
2. Retention Policy(保留策略)的适用场景
- 保留策略的核心作用是防止对象被提前删除,多用于合规类场景,比如要求业务数据必须留存满指定时长才能操作删除,这种场景下可以设置对应时长的保留期,保留期内所有用户都无法删除或修改对应对象
- 仅靠保留策略无法实现自动删除的效果,保留期到期后对象会恢复可操作状态,但不会自动清理,如果需要同时满足合规留存+到期自动删除,需要把保留策略和生命周期规则配合使用:保留策略设置最短留存时长,生命周期规则设置留存满指定时长后自动删除
操作注意事项
- 配置生命周期规则前建议先用非核心数据的小范围前缀/标签做测试,确认匹配规则符合预期后再全量上线,避免规则配置错误误删其他业务数据
- 绝大多数云厂商的对象存储生命周期规则执行会存在最多24小时的调度延迟,如果你的删除时间精度要求到分钟级,该方案无法满足,需要自行开发定时任务调用存储服务的接口执行删除操作
- 如果你的存储桶开启了版本控制功能,需要额外配置针对历史版本、删除标记的生命周期清理规则,否则默认配置只会给当前版本生成删除标记,历史版本仍会留存并产生存储费用
内容的提问来源于stack exchange,提问作者raghu_manne
相关产品推荐
相关产品推荐

