Aws lambda AWS Lambda:在成功完成另一个

Aws lambda AWS Lambda:在成功完成另一个,aws-lambda,amazon-cloudformation,invoke,serverless,Aws Lambda,Amazon Cloudformation,Invoke,Serverless,我有两个Lambda函数: 职能1 功能2 Func1按计划每小时调用一次(在template.yaml中定义为事件) 我需要在成功完成Func1时调用Func2 如何在不调用Func1代码中的Func2的情况下实现这一点? 在CloudFormation模板中有没有实现这一点的方法?使用事件可能是?步骤功能是您要使用的服务: 这是一种“官方”的方式来将你和lambdas联系起来,而我实际上已经在两年前实施了这种解决方案。可以调整lambda链每个节点的输入和输出参数。当然,您可以编写CF来

我有两个Lambda函数:

  • 职能1
  • 功能2
Func1按计划每小时调用一次(在template.yaml中定义为事件)

我需要在成功完成Func1时调用Func2

如何在不调用Func1代码中的Func2的情况下实现这一点?
在CloudFormation模板中有没有实现这一点的方法?使用事件可能是?

步骤功能是您要使用的服务:

这是一种“官方”的方式来将你和lambdas联系起来,而我实际上已经在两年前实施了这种解决方案。可以调整lambda链每个节点的输入和输出参数。当然,您可以编写CF来配置SF状态机

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


我在Cloudformation中维护SF状态机JSON的经验不太好,但是如果您的链只有2个lambda,那么这可能会有所改进,也不会太糟糕。现在看来,step函数比lambda链接服务功能强大得多。

如果不想直接从Func1调用Func2,可以:

  • 在Func1中向SNS主题发送通知,然后在Func2中订阅该主题
  • 将消息放入Func1中的SQS队列,然后使用该队列触发Func2
  • 向Func1中的SNS主题发送通知,然后向该主题订阅SQS队列,并触发Func2退出该队列。这被称为,对于实现并行处理非常有用
  • 最后,使用Step函数,尤其是在实现更复杂的工作流而不仅仅是将两个函数串在一起时
  • 您甚至可以从Func1的CloudWatch日志中触发Func2

一种可能的方法是使用SNSCan修改Func1代码,或者您不想从Func1中调用Func2,但可以修改Func1代码,否则?@Tommy我可以访问Func1代码。我想知道是否有其他方法可以实现func1的模块化。谢谢@congbauguier,我会尝试一下。