Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 S3生命周期规则不删除过期的对象删除标记_Amazon S3 - Fatal编程技术网

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

Amazon s3 S3生命周期规则不删除过期的对象删除标记,amazon-s3,Amazon S3,我有一个S3存储桶,它不会删除过期的对象删除标记 铲斗是: 启用版本控制 具有跨区域复制规则,因此所有内容都备份到另一个区域中的另一个存储桶 我设置的生命周期规则(下图): 适用于整个铲斗 无过渡 仅适用于以前的版本 永久删除设置为1天的早期版本 清除过期对象删除标记设置为true 我浏览并删除了(使用UI编辑:和生命周期规则)一组对象,我能够验证生命周期规则是否在间隔1天后永久删除了原始对象,但它们的删除标记(现在技术上已过期的对象删除标记)仍然保留。已经5天了,删除标记仍然保留。我还

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

铲斗是:

  • 启用版本控制
  • 具有跨区域复制规则,因此所有内容都备份到另一个区域中的另一个存储桶
我设置的生命周期规则(下图):

  • 适用于整个铲斗
  • 无过渡
  • 仅适用于以前的版本
  • 永久删除设置为1天的早期版本
  • 清除过期对象删除标记设置为true
我浏览并删除了(使用UI编辑:和生命周期规则)一组对象,我能够验证生命周期规则是否在间隔1天后永久删除了原始对象,但它们的删除标记(现在技术上已过期的对象删除标记)仍然保留。已经5天了,删除标记仍然保留。我还需要做些什么才能永久删除删除标记


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

我已经删除了约100TB的数据,因此它生成了相当多的过期对象删除标记-因此AWS花费了1周以上的时间来启动并删除它们。在收到客户支持后,他们提到了一些有助于理解这一点的事情,重点是我的:

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

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


当您“删除(使用UI)一组对象”时,您是使用
Hidden=Show
并删除对象的特定版本,还是仅删除对象?如果您只是删除了对象(而不是版本),那么它将保留该对象并添加删除标记。版本对象仍然存在。@JohnRotenstein抱歉,我应该澄清一下,删除是通过UI和此生命周期规则进行的。实际上,主要是生命周期规则。我使用
hidden=show
选项卡对数据进行了梳理,肯定只剩下删除标记了。