AWS Lambda函数由CloudWatch事件触发两次

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AWS Lambda函数由CloudWatch事件触发两次相关的知识,希望对你有一定的参考价值。

我使用AWS Lambda部署了一个用Python2.7编写的服务,它是从一些页面提取数据并将结果发送到Web应用程序。该服务由AWS CloudWatch事件触发(固定速率为5分钟)。

但是,我发现有时服务一次触发两次。我得到了这个,因为有两个日志流打印相同的数据和结果,但具有不同的RequestID。并且数据库具有重复数据,这表明两者都成功运行。看起来服务几乎同时被触发了两次,没有任何理由。

有没有人经历过同样的事情,你如何解决它?或者,有没有办法限制一次只能执行一个功能。

答案

是。某些AWS服务的SLA至少一次交付。我用CloudWatchCloudTrail体验过这个。我不知道你是否只能限制一次。您必须检查数据是否已经处理过。我通过在处理数据之前在我的python代码中调用boto3来克服这个问题。在不了解您的情况的情况下,很难提出解决方案。

以上是关于AWS Lambda函数由CloudWatch事件触发两次的主要内容,如果未能解决你的问题,请参考以下文章

Aws Lambda 收集 CloudWatch 事件

AWS Cloudwatch/Lambda - 计划事件触发太频繁

Terraform 多个 cloudwatch 事件触发相同的 lambda 函数

AWS 事件总线无法将日志写入来自 AWS Lambda 的自定义日志组上的 CloudWatch

手动触发 AWS CloudWatch 事件

如何匹配 aws cloudwatch 日志中的多个模式以触发 lambda