检查AWS S3存储桶中的文件数

时间:2018-03-30 10:08:41

标签: amazon-web-services amazon-s3 amazon-ec2

我有一项任务,在预定的基础上需要检查存储桶中的文件数量(文件是通过NAS上传的),然后使用SES通过电子邮件发送总数。

电子邮件部分本身工作正常。但是,由于我在文件夹中有超过40 000个文件,因此返回文件总数需要5分钟或更长时间。

从设计角度来看,最好将这部分逻辑放在EC2机器中,然后在ec2上安排操作吗?或者有更好的方法来做到这一点?

注意,我不必列出所有文件。我只是想得到桶中所有文件的总数。

2 个答案:

答案 0 :(得分:1)

每次放置/删除/ etc

文件时都会触发lambda

根据收到的事件,lambda更新一个存储数字的DynamoDb表。

e.g。
如果将文件添加到S3,lambda会将DynamoDb表中的计数增加1 如果是文件删除,lambda将减少计数

所以这样,我想,你将永远拥有最新的计数而不计算文件。

答案 1 :(得分:0)

您没有提到需要多久进行一次此文件计数。

如果是每天或更少,您可以激活Amazon S3 Inventory。它可以提供桶中所有文件的每日转储,您可以从中执行计数。