我有一个背后带有Lambda的API网关,对于某些我想在将来安排执行的端点,可以运行一次,例如REST调用是在T时间进行的,我希望该Lambda安排执行在T + 20分钟时一次。
我发现实现此目标的唯一解决方案是在进行REST调用时使用boto3和Cloudwatch设置cron,发送带有有效负载的事件,然后在延迟的lambda运行时删除规则。 / p>
我发现这很重,还有其他方法可以实现这种模式吗?
编辑:它不是Lambda,只是运行一次。
答案 0 :(得分:0)
一种选择是使用 AWS Step Functions 在给定的延迟后触发AWS Lambda函数。
Step Functions具有可以调度或延迟执行的Wait状态,因此您可以实现一个相当简单的Step Functions状态机,该状态机在调用Lambda函数之前设置了延迟。不需要数据库!
有关概念的示例(略有不同,但足够接近),请参见: