情况
[当前,我正在使用Amazon SQS队列,该队列在到达队列时会触发Lambda函数来处理新消息。发生故障时,这些Lambda函数将被移至DLQ(死信队列)。
为了播种SQS队列,我使用的CRON每天运行,并将可用的作业插入队列。
我想在CRON当天插入的所有新作业完成或处理完毕后发出摘要警报/电子邮件,并详细说明最初发出的成功,失败和总作业数的详细信息天。
问题:
由于Lambda函数是单独运行的,并且我想保持这种方式,所以我想知道最好使用什么服务来存储临时计数值(三个计数中至少有两个是总计数,成功计数和失败计数中需要的?)
我当时在考虑DynamoDB,但每个DB似乎都为此付出了代价,并且也不具有成本效益。对于此类解决方案,S3似乎也不是最实用/首选。我还可以使用SQS(因为它的“存储”在某种程度上是为诸如此类的较小数据存储而设计的),其标识符“ count”将由每个Lambda函数更新,但是要知道哪个Lambda函数是最后一个,则需要检查整个队列,这似乎过于复杂了。
想到其他任何AWS服务吗?
这是一个不错的listing of Storage Options in the AWS Cloud(2013年,但也包括今天可用的某些选项)。
[AWS Systems Manager Parameter Store可以用作'迷你数据库'。
它需要使用AWS凭证才能访问(Lambda函数或您正在执行此检查的任何代码都可以使用,但没有运营成本。
来自PutParameter - AWS Systems Manager:
如果多个进程尝试同时更新参数,则可能会遇到问题,但希望您的用例非常简单。参数存储为参数提供标准层和高级层。标准参数的内容大小限制为4 KB,并且不能配置为使用参数策略。您可以在AWS账户中创建每个区域最多10,000个标准参数。标准参数的提供价格为[[无额外费用。