在Amazon S3中自动删除超过n天的对象(如何?)

我使用ruby lib( http://sofzh.miximages.com/ruby-on-rails/pprecodeS3Object.delete ‘photo-1.jpg’, ‘photos’

有没有办法自动删除超过一周的图像?

如果它不存在,我将不得不写一个守护进程来做到这一点:-(

谢谢


更新:现在有可能,检查罗伯托的答案。

遗憾的是,亚马逊没有根据一组特定标准提供自动删除API。

您需要编写一个遍历所有照片的守护程序,并选择符合您条件的守护程序,然后逐个删除它们。

您可以使用Amazon S3对象过期策略

Amazon S3 – 对象过期| AWS博客

如果使用S3存储日志文件或其他具有有限生命周期的文件,则可能必须在内部构建某种机制来跟踪对象年龄并不时启动批量删除过程。 虽然我们新的多对象删除function将帮助您更快,更轻松地完成此过程,但我们希望能够更进一步。

S3的新对象过期function允许您定义规则,以在预定义的时间段后安排删除对象。 这些规则在您应用于存储桶的生命周期配置策略中指定。 您可以通过S3 API或AWS管理控制台更新此策略。

对象到期| AWS S3文档

存储在Amazon S3存储桶中的某些对象可能具有明确定义的生命周期。 例如,您可能会将定期日志上载到存储桶,但可能需要将这些日志保留一段特定的时间。 您可以使用对象生命周期管理为存储桶中的对象指定生命周期; 当对象的生命周期到期时,Amazon S3将对象排队以进行删除。

Ps:点击链接获取更多信息。

如果您可以访问本地数据库,则只需简单地记录每个图像(您可能已根据应用程序执行此操作),然后您可以执行简单查询以检索整个列表并逐个删除它们。 这比直接查询S3快得多,但确实需要某种本地存储。