在特定时间发射aws lambda



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

AWS Lambda+CloudWatch+DynamoDB:

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

ATrigger

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

根据评论,接受的解决方案是让预订系统在预订开始前10分钟发送SNS消息。然后SNS将触发lambda。

我相信在您的情况下使用SNS是可以的。不过,我想向您展示另一种选择。根据您安排触发器的方式,您还可以启动Step Function执行,它将在某个时刻触发Lambda函数。Step函数的执行可以运行长达一年,还可以触发Lambda函数。我可以想象的一个例子是:当有人在你的系统中预订某个东西或使用API计划它时,你设置了一个Step Function执行,它将在预订时间之前的X点触发你的Lambda函数(或"等待"到该时间点(。我在这里回答了一个类似的问题:https://stackoverflow.com/a/46935065/4831297也许这是你的另一种选择;-(

最新更新