为什么达到指定天数后仍未执行删除或转储操作?

本文介绍达到生命周期规则指定天数后,对应Bucket中的Object未执行删除或转储操作的原因。

规则详情

假设您创建了一条生命周期规则,且规则中指定Object距离最后一次修改时间30天后删除。

问题现象

生命周期规则命中的Object在距离最后一次修改时间30天后未删除。

问题原因

您判定的Object过期时间与实际的Object过期时间存在差异。

创建生命周期规则后,OSS会先将Object的最后一次修改时间按照UTC时间向上取整,再经过指定天数后才会判定为过期,然后结合生命周期的生效规则执行删除操作。

例如Object的最后一次修改时间为北京时间2022-10-27 23:00:00,将该Object最后一次修改时间向上取整后的UTC时间为2022-10-28 00:00:00,经过指定天数30天后生命周期判定该Object的过期时间为2022-11-28 00:00:00(以UTC为单位),即该Object被判定为过期对应的北京时间为2022-11-28 08:00:00。结合Object被判定为过期后,最晚会在次日的北京时间08:00:00前将Object删除的生命周期生效规则,因此Object被删除的时间为2022-11-29 08:00:00之前。