Ale*_* DS 7 ruby ruby-on-rails amazon-s3 amazon-web-services
我使用ruby lib(http://amazon.rubyforge.org/)在Amazon S3中存储了许多图像
我不在乎超过1周的照片,然后在S3中释放空间我必须删除那些照片.
我知道有一种方法可以删除某个存储桶中的对象:
S3Object.delete 'photo-1.jpg', 'photos'
Run Code Online (Sandbox Code Playgroud)
有没有办法自动删除超过一周的图像?
如果它不存在,我将不得不写一个守护进程来做到这一点:-(
谢谢
更新:现在有可能,检查罗伯托的答案.
小智 43
您可以使用Amazon S3对象过期策略
如果您使用S3来存储日志文件或其他具有有限生命周期的文件,您可能必须在内部构建某种机制来跟踪对象年龄并不时启动批量删除过程.虽然我们新的多对象删除功能将帮助您更快,更轻松地完成此过程,但我们希望能够更进一步.
S3的新对象过期功能允许您定义规则,以在预定义的时间段后安排删除对象.这些规则在您应用于存储桶的生命周期配置策略中指定.您可以通过S3 API或AWS管理控制台更新此策略.
存储在Amazon S3存储桶中的某些对象可能具有明确定义的生命周期.例如,您可能会将定期日志上载到存储桶,但可能需要将这些日志保留一段特定的时间.您可以使用对象生命周期管理为存储桶中的对象指定生命周期; 当对象的生命周期到期时,Amazon S3将对象排队以进行删除.
Ps:点击链接获取更多信息.
不幸的是,亚马逊不提供基于一组特定条件自动删除的 API。
您需要编写一个守护程序来遍历所有照片并仅选择那些符合您标准的照片,然后将它们一张一张地删除。