首页 > 解决方案 > 根据s3中的日期名称删除文件夹

问题描述

我在 s3 存储桶中有文件夹,标签为:

date=2021-07-01/
date=2021-07-02/
...
date=2021-07-26/

每天都会将具有相应日期的新文件夹上传到存储桶,如果文件夹超过 x 天,我想自动删除它们。目前我有它,以便 s3 生命周期管理正在处理它,但它正在根据上次修改日期删除文件夹,有时某些文件夹需要更新,更改上次修改日期并导致它们被删除晚于预定义的 x 天。

有没有一种方法可以使用每天运行的 python 脚本来检查是否有任何文件夹太旧并相应地删除它们?

标签: pythonamazon-web-servicesamazon-s3

解决方案


有没有一种方法可以使用每天运行的 python 脚本来检查是否有任何文件夹太旧并相应地删除它们?

是的,有办法。确切的详细信息取决于 S3 存储桶的大小,因为它需要列出其所有内容。但是积极地认为存储桶是“小”(特定于用例的定义),通常的方法是:

  1. 在 python 中创建一个 lambda 函数。该函数将使用boto3查询 S3 中的文件夹列表,并过滤掉需要删除的文件夹,然后将其删除。

  2. 设置CloudWatch Event Scheduled 规则以每天触发该功能。


推荐阅读