S3生命周期规则不会删除过期的对象删除标记

时间:2020-04-15 19:48:31

标签: amazon-s3

我有一个S3存储桶,该存储桶不会删除过期的对象删除标记。

存储桶是:

  • 启用版本
  • 具有跨区域复制规则,因此所有内容均备份到另一个区域中的另一个存储桶

我设置的生命周期规则(如下图):

  • 适用于整个存储桶
  • 无过渡
  • 仅适用于以前的版本
  • 永久删除设置为1天的先前版本
  • 清除过期的对象删除标记设置为true

我仔细检查并删除(使用UI EDIT:和生命周期规则)一堆对象,并且能够验证生命周期规则确实在1天的间隔后确实删除了原始对象,但是删除标记(现在技术上已过期的对象删除标记)仍然存在。已经5天了,删除标记仍然保留。为了将删除标记也永久删除,我还需要做些其他事情吗?

Lifecycle rule expiration

1 个答案:

答案 0 :(得分:2)

事实证明,答案是:耐心。生命周期规则DID最终清理了过期的对象删除标记。

我已经删除了约100TB的数据,因此它生成了很多过期的对象删除标记-因此,AWS用了1个星期以上的时间来删除它们。在获得客户支持后-他们提到了一些有助于理解这一点的东西,请强调:

请注意,生命周期可能需要一些时间才能真正实现 使对象过期或删除标记,即使将其标记为 合格,并将它们放入队列。因此,尽管S3停止充电一次 这些对象被标记为过期,它们可能会继续存在直到 生命周期实际上使它们到期。此外,此持续时间为 还受到该产品生命周期服务总体负载的影响 特定的AWS区域。

话虽如此,请注意S3生命周期最终将 使符合条件的对象过期/过渡,但是它没有 修正了要依赖的SLA。在大多数用例中,这是正常现象 并且可以接受。对于需要及时清理的用例 删除标记,最好有一些其他过程 同步删除这些删除标记,而不是等待 最终清洁它们的生命周期。

相关问题