amazon-web-services - 使用 API Gateway 顺序调用 AWS Lambda
问题描述
我有如下两个 API 端点,并计划通过 CloudWatch(时间)控制它们的执行,就像第一个被执行然后第二个将在 10 分钟后执行。
- /input -> 主要功能是验证一个 JSON 文件并将其保存到 DB 中。此外,它需要对用户的请求状态做出响应。
- /calc -> 根据数据库中的数据,它计算一些东西并将结果作为 CSV 文件放到 S3 中。
如果我想顺序执行这两个功能,我应该采取什么样的方法?我想到了在第一个结束时执行第二个的想法,但它一点也不优雅。
任何建议表示赞赏。:)
解决方案
您可以使用几种方法:
简单的方法是使用 SNS,一旦执行第一个函数,它将向订阅第二个函数的 SNS 主题发送一条消息。(但是这可能需要对第一个函数进行一些代码更改,具体取决于触发器)
只有在第一个功能完成后,您也可以使用 Step Functions 来触发第二个功能。这不需要任何代码更改,但还有一些其他问题,例如监控和定价。(如果您要处理大量执行,与 SNS 方法相比,步进函数可能会很昂贵)
推荐阅读
- r - 循环 rbind 以获取数据帧列表
- erlang - 在erlang中对每个索引的整数列表求和
- reactjs - 如何覆盖 React Material ui 1.2 TableSortLabel 中的 ArrowDownwardIcon 图标
- c# - 为什么xml反序列化中的某些属性总是返回null?
- markdown - Mkdocs 警告:404 GET require.js
- ruby-on-rails - 错误:无法构建 gem 原生扩展 (stock_quote gem)
- c# - 如何在listview c# windows应用程序中显示模型列表
- php - 未定义变量:bg footer.php 文件 - Realtor wordpress 主题
- php - 如何使用php类获取类函数中的参数
- java - 多条件 Java 循环