AWS Lambda函数由CloudWatch事件触发两次
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AWS Lambda函数由CloudWatch事件触发两次相关的知识,希望对你有一定的参考价值。
我使用AWS Lambda部署了一个用Python2.7编写的服务,它是从一些页面提取数据并将结果发送到Web应用程序。该服务由AWS CloudWatch事件触发(固定速率为5分钟)。
但是,我发现有时服务一次触发两次。我得到了这个,因为有两个日志流打印相同的数据和结果,但具有不同的RequestID。并且数据库具有重复数据,这表明两者都成功运行。看起来服务几乎同时被触发了两次,没有任何理由。
有没有人经历过同样的事情,你如何解决它?或者,有没有办法限制一次只能执行一个功能。
答案
是。某些AWS服务的SLA至少一次交付。我用CloudWatch
和CloudTrail
体验过这个。我不知道你是否只能限制一次。您必须检查数据是否已经处理过。我通过在处理数据之前在我的python代码中调用boto3
来克服这个问题。在不了解您的情况的情况下,很难提出解决方案。
以上是关于AWS Lambda函数由CloudWatch事件触发两次的主要内容,如果未能解决你的问题,请参考以下文章
AWS Cloudwatch/Lambda - 计划事件触发太频繁
Terraform 多个 cloudwatch 事件触发相同的 lambda 函数