【发布时间】:2018-09-09 09:55:42
【问题描述】:
我见过How to delete or purge old files on S3?,但是,这不适合我,因为我有一个允许上传到我的存储桶的公共(未经身份验证的身份池)。由于这是公开的,我不相信上传者会设置过期时间,
我见过https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-s3-2006-03-01.html#listobjects,但这似乎并不表明对象上有创建、添加、上传或更新的时间。所以我不确定如何通过对象检查它们是否超过 x 时间进行集成然后删除它们。未经身份验证的用户只能上传他们看不到/编辑或删除的对象,但我不能相信来自他们的任何形式的信息,所以 S3 是否有一个我可以在 PHP 中访问的某种形式的附加时间,如果是这样,如何?
【问题讨论】:
-
ServerFault 在 PHP 和 bash 中有一个解决方案。
-
如果它不进入 API 服务器的生产公共端点,那就太好了,恐怕我无法将 shell 命令放在公共端点上 :) 我希望对于纯粹的 PHP 实现
-
旁注:您可以使用Object Lifecycle Management 在创建后N天自动删除对象。