从* no-idea触发lambda函数

时间:2017-05-15 17:25:15

标签: amazon-web-services aws-lambda amazon-sqs amazon-cloudwatch

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

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

用户希望在指定时间内触发lambda,例如。

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

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

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

我可以使用什么? SQS? CloudWatch活动?用S3? DynamoDB流?

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

2 个答案:

答案 0 :(得分:0)

当用户通过API网关调用lambda并将数据放入dynamo db时,如果希望此用户操作具有lambda调用,则可以同时在SQS中插入带有确切时间戳的消息

现在有一个预定的lambda,每分钟或每5分钟执行一次或适合你的任何事情。这个lambda的工作是轮询SQS的所有消息,看看是否有任何消息的时间表。如果是,则调用另一个lambda并传递此有效负载以进行调用。如果没有,那么睡到下一个投票时间

答案 1 :(得分:0)

您还可以在云中执行相同的架构。本地cron可以由Cloudwatch cron计划代替。因此,可以根据cron计划触发第二个Lambda,然后扫描数据库(在这种情况下为dynamodb)并进行处理。