相关文章推荐
淡定的地瓜  ·  java - How to ...·  2 年前    · 
慈祥的苹果  ·  IF...ELSE ...·  2 年前    · 
大力的电池  ·  PowerBuilder ...·  2 年前    · 
安静的饼干  ·  MySQL修改/删除字段·  2 年前    · 

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

10 人关注

我有一个带有Lambdas的API网关,对于一些端点,我想在未来安排一次执行,例如REST调用是在T时间进行的,我想让这个lambda在T+20分钟安排一次执行。

我发现实现这一目标的唯一解决方案是使用boto3和Cloudwatch,在REST调用的时刻设置一个cron,发送一个带有有效载荷的事件,然后当延迟的lambda运行时,它就会删除该规则。

我发现这非常沉重,是否有任何其他方法来实现这样的模式?

编辑:这不是一个循环的Lambda,只是要运行一次。

amazon-web-services
aws-lambda
boto3
amazon-cloudwatch
e-nouri
e-nouri
发布于 2019-07-08
1 个回答
John Rotenstein
John Rotenstein
发布于 2019-07-08
已采纳
0 人赞同

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

Step Functions有一个Wait状态,可以安排或延迟执行,所以你可以实现一个相当简单的Step Functions状态机,在调用Lambda函数前放一个延迟。不需要数据库!