AWS Lambda安排延迟执行一次运行

时间:2019-07-08 14:34:27

标签: amazon-web-services aws-lambda boto3 amazon-cloudwatch

我有一个背后带有Lambda的API网关,对于某些我想在将来安排执行的端点,可以运行一次,例如REST调用是在T时间进行的,我希望该Lambda安排执行在T + 20分钟时一次。

我发现实现此目标的唯一解决方案是在进行REST调用时使用boto3和Cloudwatch设置cron,发送带有有效负载的事件,然后在延迟的lambda运行时删除规则。 / p>

我发现这很重,还有其他方法可以实现这种模式吗?

编辑:它不是Lambda,只是运行一次。

1 个答案:

答案 0 :(得分:0)

一种选择是使用 AWS Step Functions 在给定的延迟后触发AWS Lambda函数。

Step Functions具有可以调度或延迟执行的Wait状态,因此您可以实现一个相当简单的Step Functions状态机,该状态机在调用Lambda函数之前设置了延迟。不需要数据库!

有关概念的示例(略有不同,但足够接近),请参见: