AWS Lambda:成功完成另一个时调用功能



我有两个lambda函数:

  • func1
  • func2

func1按计划每小时被调用(在template.yaml中定义为事件(。

我需要在成功完成func1时调用func2。

如何在不在func1代码中调用func2的情况下实现此目标?云形式模板中有没有办法实现这一目标?使用事件可能是?

步骤函数是您要使用的服务:https://aws.amazon.com/step-functions/getting-started/

这是链接您Lambdas的"官方"方法,我实际上已经实施了2年前的解决方案。您可以调整Lambda链每个节点的输入和输出参数。当然,您可以编写CF来提供SF状态机。

您确实需要将Cloudwant事件规则目标从触发单个Lambda触发SF状态计算机。但是我认为这根本不是一个重大的变化。

我确实在云形式中保持了SF状态机JSON的经验很差,但是如果您的链条只有2个lambdas,则可能会有所改善,而且还不错。现在看来,步骤功能比仅仅是lambda链式服务更强大。

如果您不想直接从func1调用func2,则可以:

  • 在func1中向SNS主题通知,然后将func2订阅到该主题
  • 在func1中向SQS队列输入消息,然后使用该队列触发func2
  • 在func1中向SNS主题发出通知,然后将SQS队列订阅到该主题,然后触发该队列的Func2。这就是称为粉丝模式,对于实现并行处理很有用。
  • 最后,使用步骤函数,特别是如果您实现了更多精心设计的工作流程,而不仅仅是将两个功能串在一起。
  • 您甚至可以触发func2 func1
  • 的CloudWatch日志

相关内容

  • 没有找到相关文章

最新更新