在不同时间范围内汇总时间序列数据

时间:2018-05-01 18:59:29

标签: aws-lambda amazon-dynamodb

我有一个关于如何聚合进入DynamoDB的时间序列数据的问题。

目前,每台设备每30秒就会有一次能耗数据进入DynamoDB。这些设备也分布在许多时区。

我想显示一小时,一天,一个月和一年的总能耗。

我知道我能做到的一种方法是在1小时的cron作业上运行一个Lambda,它获取前一小时的所有读数并将它们全部加在一起,然后将它们记录在另一个表中。

同时在那个cron工作中,Lambda可以检查是否有任何设备时区只有他们的日期结束,如果是这样,那么在过去的24小时内批量阅读一天。

同样适用于月份和年份。

但是有些东西告诉我还有另一个更好的方法来做这一切(可能使用了一些我没想到的其他AWS服务)

1 个答案:

答案 0 :(得分:0)

您可以使用dynamoDB流而不是cron作业。

在这种情况下,当记录进入数据收集表时,它可以启动一个更新聚合表的lambda函数。这将使您能够更及时地更新聚合表。您的记录聚合的小时/日/月/年的逻辑应该在该lambda中。

另外,我会使用云观察事件代替cron ......