在 AWS S3 上,我可以从生命周期规则中排除文件吗

mik*_*ike 5 amazon-s3 amazon-web-services

我有一个具有短生命周期规则的存储桶,所有超过 7 天的内容都会被删除。添加的文件具有动态生成的名称。

我想从这个规则中排除存储桶中有一个文件,有没有办法从规则中排除这个文件,这样它就不会被删除?

Mic*_*bot 6

没有办法从匹配对象的规则中排除对象。最有可能的是,您需要使用满足您需要的前缀来重新排列您的对象。

有一个黑客......这将涉及足够频繁地将文件复制到自身中,以至于它永远不会老化到足以匹配规则,但这显然是微妙的。S3 PUT+Copy 操作确实允许在不下载和重新上传的情况下将对象无损地复制到自身之上,这将重置到期计时器。

但最有可能的更好的解决方案是在您的随机文件名前添加一些静态字符。S3 分区拆分实现(S3 处理存储桶容量扩展的方式)显然可以与静态前缀(例如images/)后跟随机字符一起使用,就像它可以使用完全随机的密钥一样。