我有一项任务,在预定的基础上需要检查存储桶中的文件数量(文件是通过NAS上传的),然后使用SES通过电子邮件发送总数。
电子邮件部分本身工作正常。但是,由于我在文件夹中有超过40 000个文件,因此返回文件总数需要5分钟或更长时间。
从设计角度来看,最好将这部分逻辑放在EC2机器中,然后在ec2上安排操作吗?或者有更好的方法来做到这一点?
注意,我不必列出所有文件。我只是想得到桶中所有文件的总数。
答案 0 :(得分:1)
每次放置/删除/ etc
文件时都会触发lambda根据收到的事件,lambda更新一个存储数字的DynamoDb表。
e.g。
如果将文件添加到S3,lambda会将DynamoDb表中的计数增加1
如果是文件删除,lambda将减少计数
所以这样,我想,你将永远拥有最新的计数而不计算文件。
答案 1 :(得分:0)
您没有提到需要多久进行一次此文件计数。
如果是每天或更少,您可以激活Amazon S3 Inventory。它可以提供桶中所有文件的每日转储,您可以从中执行计数。