如何以编程方式安排 AWS lambda 函数在事件发生后运行 X 时间?

Rya*_*yan 4 cron amazon-web-services node.js aws-lambda

我希望在特定事件发生 24 小时后安排 AWS Lambda 函数。

例如:如果在该时间后 24 小时向我的数据库添加了某些内容,AWS Lambda 函数应使用特定参数运行。这可以通过将 Lambda 设置为在 24 小时内运行的函数调用或 API 调用来完成(它不必是 Webhook)。

我已经抓取了 AWS 文档,但似乎找不到解决方案。

我知道可以按 cron 计划运行 AWS Lambda 函数,而是寻找可以随机动态调度它的东西。

非常感谢!

Joh*_*ein 10

您可以安排 Amazon CloudWatch Events,以便它可以在特定时间运行 AWS Lambda 函数。但是,我不确定您是否能够将特定参数传递给它。

更好的方法可能是在数据库(例如 DynamoDB)中保留一个事件列表,并每n分钟触发一次 Lambda 函数。Lambda 函数可以查询 DynamoDB 表以获取需要运行的较早事件。如果最早甚至在将来,该函数可以简单地退出。如果最早的事件现在(或过去)到期,它可以调用另一个 Lambda 函数来按您的意愿执行(使用从 DynamoDB 表中提取的参数)。

因此,您将使用 CloudWatch Events 作为计时器,使用 Lambda 函数作为逻辑“何时做什么”控制器。