从 *no-idea 触发 lambda 函数

Trigger lambda function from *no-idea

我正在为一个旧系统寻找一个无服务器解决方案,它的工作非常棒,只有一个人认为我不知道什么是最好的解决方案,这就是重点

USER ---> API Gateway ---> Lambda ---> DynamoDB

用户想要在指定时间触发 lambda,例如。

我是一名用户,我想 post 在仪表板中发送一条消息(执行此操作的函数在 lambda 中),其中包含一些保存在 DynamoDB 中的参数,应该在明天 5 点完成。

用户发出 API 请求抛出 API 网关,执行 lambda 并将一些信息放入 DynamoDB,明天如何使用此信息触发另一个 lambda?

在旧系统中,我们有一个带有时间的 cron,当它应该被触发时,它只需读取数据库来获取参数。

我能用什么?质量标准?云观察事件?与 S3? DynamoDB 流 ?

更多信息,可能是每天执行 10-20 次。

当用户通过 API 网关调用 lambda 时,当您将数据放入 dynamo 数据库时,您可以同时在 SQS 中插入一条消息,其中包含您希望此用户使用的确切时间戳进行 lambda 调用的操作。

现在有一个预定的 lambda,每分钟或每 5 分钟或任何适合您的方式执行。此 lambda 的工作是轮询 SQS 的所有消息,并查看是否已达到任何消息的任何时间表。如果是,则调用另一个 lambda 并将此有效负载传递给调用。如果不是,则休眠到下一个轮询时间

您也可以在云中执行相同的架构。本地 cron 可以替换为 Cloudwatch cron 计划。因此,您的第二个 Lambda 可以根据 cron 计划触发,您可以扫描您的数据库(在本例中为 dynamodb)并进行处理。