首页 > 解决方案 > 根据阈值执行 Lambda 函数

问题描述

我创建了一个 Lambda 函数,该函数将通过订阅 CloudWatch 日志模式触发,并且该函数将依次将日志传递给 web-hook(请参阅https://gist.github.com/tomfa/f4e090cbaff0189eba17c0fc301c63db)。

现在,只有当函数在“y”分钟内被调用“x”次时,我才需要这个 lambda 函数来执行。

是否可以通过 SNS 禁用/启用 lambda。另一个想法是 1. 在状态更改时创建 CloudWatch 事件 2. 订阅这将启用 lambda,如果状态从 OK 变为 ALARM 禁用 lambda,如果状态返回 OK

标签: amazon-web-servicesaws-lambdaamazon-cloudwatch

解决方案


您可以使用 CloudWatch Events 按计划向 Amazon SNS 主题发送消息。确保您位于正确的区域,因为 CloudWatch Events 并非在每个区域都可用。

如何配置 Cloudwatch:

使用 CloudWatch 并获取有关 lambda 调用和错误的指标,您可以找到成功的调用和错误、阈值计数。现在您可以使用 AWS 开发工具包

https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/get-metric-data.html

export.handler = function(event, context, callback) {
  apiCall().then(resp => callback(null, resp).catch(err => callback(err));
}

推荐阅读