S3多过期生命周期规则优先级及执行结果咨询
AWS S3生命周期规则执行问题解答
实际执行结果
folder-logs/下的对象会在30天后被删除,而非90天。- 规则的创建顺序不会影响最终执行结果。
原因说明
AWS S3的生命周期规则是独立评估的,每个规则都会单独检查对象是否符合自身的匹配条件(比如前缀),和规则的排列顺序无关。
对于folder-logs/内的对象:
- 它同时满足两条规则的匹配条件:既符合规则1的
folder-logs/前缀,也符合规则2的“所有对象”范围; - 规则1要求90天后过期,规则2要求30天后过期;
- 当多个过期规则同时匹配一个对象时,S3会执行最早到期的那个规则——也就是30天的过期设置,所以这些对象会在30天后被删除,规则1的90天设置不会生效。
正确的规则配置建议
如果要实现需求(folder-logs/对象保留90天,其余对象30天删除),需要调整规则2,添加排除条件:
- 规则1:前缀为
folder-logs/,90天后过期; - 规则2:前缀不包含
folder-logs/(或通过前缀匹配folder-a/、folder-b/),30天后过期。
内容的提问来源于stack exchange,提问作者Deepak
相关产品推荐
相关产品推荐

