首页 > 解决方案 > 在特定时间触发 aws lambda

问题描述

假设我有一个预订系统,我想在预订开始前 10 分钟触发 aws lambda 函数向用户发送电子邮件或消息。我在网上查了一下,发现很少有解决方案。

AWS Lambda + CloudWatch + DynamoDB:

有人建议将作业添加到 dynamodb 并将 TTL 设置为我想通知用户的时间,然后连接 cloudwatch 以侦听以删除 dynamodb 上的触发器。我不喜欢这种方法,因为它似乎是一种 hacky 方法。

触发

该网站提供了一个 rest api,您可以使用它来设置将来的调度作业。这正是我需要的,但他们社交媒体上的最后一次更新是在 2018 年。所以可能没有维护。

标签: amazon-web-servicesaws-lambdaschedulerjob-scheduling

解决方案


我相信在您的情况下使用 SNS 很好。但是,我想向您展示另一种选择。根据您安排触发器的方式,您还可以启动Step Function 执行,这将在特定点触发您的 Lambda 函数。Step Function 执行最多可以运行一年,并且还会触发您的 Lambda 函数。我可以在您的情况下想象一个示例:当有人在您的系统中预订某些东西或使用您的 API 安排它时,您设置了一个 Step Function 执行,它将在 X 点触发您的 Lambda 函数(或“等待”直到那个时间点)之前预订时间。我在这里回答了一个类似的问题:https ://stackoverflow.com/a/46935065/4831297也许它是你的替代方案;-)


推荐阅读