amazon-web-services - 使用 AWS S3 cli 按年龄修剪文件?
问题描述
我的用例:
我正在使用 s3 文件夹上传/下载一堆小(~2kB)文件。每个文件都有唯一的内容,文件名是内容的散列。文件名中没有时间/日期戳。每天大约 1-3 次,我运行一个脚本来构建这些文件中的一个新文件,并使用 AWS S3 CLI 将其上传到文件夹。然后应用程序使用这些文件。
但是,文件数量已接近 1000 个,并且我发现我可以每个月修剪最旧的 20-30%,并且该应用程序会很好。
问题:
我想编写一个脚本,可以通过上传/修改日期对s3文件夹中的文件进行排序,然后删除最旧的n个文件或最旧的m%文件。使用 AWS S3 CLI 执行此操作的最有效方法是什么?
我想避免使用分页或任何涉及在 AWS Web 控制台中手动执行的操作。
解决方案
其次,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
推荐阅读
- java - 当我通过类(而不是接口)查找由 JDK 动态代理包装的 bean 时,为什么我没有遇到任何异常?
- python - 我可以使用 statsmodel ARIMA 插入时间序列吗?
- validation - 如何手动检查 CakePHP 模型字段要求?
- python - python re.findall 返回一个元组列表(需要字符串)
- css - 使用 if() css 函数将大小与单位进行比较
- dataframe - Databricks - FileNotFoundException
- javascript - 如何在 JavaScript 中获取 var 的一部分?
- c++ - 如何将 xvalue 的 std::move 执行到 void* ptr 中?
- python-3.x - Pip install openslide 成功完成,但是当我导入它时“找不到指定的模块”
- ios - 如何在 iOS 上查找用户丢失的应用内购买?