运行AWS Lambda函数一段时间



如何在一段时间内运行AWS Lambda函数?基本上,我想调用Lambda一次,只要Lambda函数从另一个API接收到特定的json响应,就运行它。换句话说,它将轮询一个服务,例如每5分钟左右,并在获得所需信息时停止。

AWS规则不是一个选项,因为我希望函数只在调用时运行。

这个模式对于AWS Lambda来说不是一个很好的模式,因为它的执行时间限制是300秒。此外,您按执行的秒计费,所以即使您的lambda正在运行等待轮询另一个资源,您也将为空闲时间付费。

你提到不想使用AWS事件规则,那么下面的方法呢:

  1. 当调用lambda函数时,检查是否定义了关联的AWS规则。如果没有,请使用API创建AWS事件规则。如果已定义,则继续
  2. 对其他API进行轮询,并查找特殊的结果
  3. 如果没有找到,退出lambda,确信AWS规则会在下一次轮询时再次调用它。
  4. 如果找到,使用AWS Events Rule API删除AWS规则,然后退出。

这样,lambda将自己管理规则的生命周期——当它想开始轮询一个循环时创建它,当它不再需要它时删除它。

相关内容

  • 没有找到相关文章

最新更新