如何只保留最新的" N"使用bash脚本或任何其他方法定期使用S3存储桶中的文件/对象数

时间:2017-08-21 07:48:57

标签: bash amazon-web-services amazon-s3 s3-bucket

我使用S3存储桶来存储我的Web应用程序日志文件。 现在我需要知道有没有可用的选项,只保留最新的20个文件,无论它们是什么时候创建的。我无法使用S3自动过期选项,因为我总是需要最新的20个文件。

1 个答案:

答案 0 :(得分:1)

选项1: -

a)使用S3 Notification Service并为S3中的每个Put对象触发lambda

b)使用python boto sdk列出存储桶中的对象,并将值(密钥,修改日期)存储在列表中。

c)按日期/时间对列表进行排序,并删除21号数据的旧记录数据。

选项2: -

a)在通知服务中配置SQS并为每个put对象触发lambda。

b)根据您的要求安排lambda服务。

c)使用python boto sdk列出存储桶中的对象,并将值(密钥,修改日期)存储在列表中。

d)按日期/时间对列表进行排序,并删除旧记录数据第21条数据。

根据您的要求,您需要选择选项1(或)选项2。

如果您在S3存储桶中的文件写入/读取/下载是时间密集型操作,请选择选项1
如果您的文件写入/读取/下载不是时间密集型操作,请选择选项2。