将cloudwatch警报连接到DynamoDB表的内容

问题描述:

利用AWS工具套件中的所有内容,是否有办法警报DynamoDB表中的值?将cloudwatch警报连接到DynamoDB表的内容

例如,如果在DynamoDB表中更新了任何内容,是否有办法将事物挂钩以便检查表的内容,并且如果表中设置了某些值,则Cloudwatch警报可以关闭它?

注意:在知道该做什么或是否报警之前,我需要检查表格的整个内容(不会是一个大表格)。

即使只是一些有关可以做到这一点的堆栈组件的细节会有所帮助!

+0

我现在没时间写一个正确的答案,所以我只是指出你正确的方向。您将需要具有Lambda函数的DynamoDB流。请参阅此处的教程:http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Streams.Lambda.html –

这可以使用DynamoDB Streams和AWS Lambda来触发警报。步骤如下。

  • 在CloudWatch中创建警报。
  • 对于特定的表创建一个流来触发Lambda函数。这将确保在DynamoDB表中发生更改时,更改将可用于Lambda代码,您可以在该更改符合条件时编写Alarm触发器。
  • 对于CloudWatch,使用AWS SDK触发警报更改其状态,如果条件满足,则从Lambda调用setAlarmState方法。

此外,对于您的用例,如果需要在表中某个数据更改后发送通知,则可以按如下方式设置要从Lambda触发的AWS SNS主题。

DynamoDB Strams - > LAMBDA - > SNS发布

这里后续动作可以从SNS被配置成当一个messege出版。

注意:您需要为由Lambda函数假设的IAM角色提供CloudWatch权限才能触发警报。

+0

如果提供的有关单个变更的信息不足以决定是否警报(如果我们需要了解整个表格的内容 - 这不是一个大表格),我们是否需要将表格作为Lambda函数的一部分来读取? – Otter

+0

是的。您需要使用Lambda函数查询dynamodb表(如果您需要更多数据来做出更改集以外的决定) – Ashan

+0

谢谢。此外,由于没有关联的“度量标准”可以将警报映射到CloudWatch,是否有办法让警报不会监视任何特定的度量标准,而只是手动设置和脱离警报? – Otter