我的用例:
我使用s3文件夹上传/下载一堆小(~2kB)的文件。每个文件都有唯一的内容,文件名是内容的散列。文件名中没有时间/日期戳。每天大约运行1-3次脚本,构建这些文件中的一个新文件,并使用AWS S3 CLI将其上传到文件夹中。这些文件然后被应用程序使用。
然而,文件的数量接近1000,我已经确定,我可以每月修剪最旧的20-30%,应用程序将会很好。
:
我想写一个脚本,可以按照上传/修改日期对s3文件夹中的文件进行排序,然后删除最老的n个文件或最老的m%的文件。使用AWS S3 CLI最有效的方法是什么?
我想避免使用分页或任何涉及在AWS web控制台手动操作的东西。
第二个Anon Coward在上面评论的-最简单的方法是通过桶的生命周期。如果您不想与AWS控制台交互,您可以通过命令行执行以下命令:
aws s3api put-bucket-lifecycle --bucket mybucketname --lifecycle-configuration file://myconffile.json
裁判:https://docs.aws.amazon.com/cli/latest/reference/s3api/put-bucket-lifecycle.html