首页 > 解决方案 > 使用 AWS S3 cli 按年龄修剪文件?

问题描述

我的用例:

我正在使用 s3 文件夹上传/下载一堆小(~2kB)文件。每个文件都有唯一的内容,文件名是内容的散列。文件名中没有时间/日期戳。每天大约 1-3 次,我运行一个脚本来构建这些文件中的一个新文件,并使用 AWS S3 CLI 将其上传到文件夹。然后应用程序使用这些文件。

但是,文件数量已接近 1000 个,并且我发现我可以每个月修剪最旧的 20-30%,并且该应用程序会很好。

问题

我想编写一个脚本,可以通过上传/修改日期对s3文件夹中的文件进行排序,然后删除最旧的n个文件或最旧的m%文件。使用 AWS S3 CLI 执行此操作的最有效方法是什么?

我想避免使用分页或任何涉及在 AWS Web 控制台中手动执行的操作。

标签: amazon-web-servicesamazon-s3aws-cli

解决方案


其次,Anon Coward 在上面评论过 - 最简单的方法是通过存储桶生命周期。如果您不想与 AWS 控制台交互,您可以通过 cli 执行此操作:

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


推荐阅读