【发布时间】:2020-12-16 11:21:04
【问题描述】:
我有一个由 FIFO SQS 触发的 lambda 函数。我只想运行一个函数实例。该函数调用状态机,并且状态机的完成时间比 lambda 函数要长。我希望 lambda 函数只有在 step 函数完成执行后才能完成。
【问题讨论】:
标签: amazon-web-services aws-lambda amazon-sqs aws-step-functions
我有一个由 FIFO SQS 触发的 lambda 函数。我只想运行一个函数实例。该函数调用状态机,并且状态机的完成时间比 lambda 函数要长。我希望 lambda 函数只有在 step 函数完成执行后才能完成。
【问题讨论】:
标签: amazon-web-services aws-lambda amazon-sqs aws-step-functions
AWS Step Functions 仅以异步方式调用。状态机最多可以运行 1 年,因此无法进行同步调用。根据您的工作流程,您可能会发现 Activities 很有用。
活动是 AWS Step Functions 的一项功能,可让您拥有 状态机中的任务,工作由工作人员执行 可以托管在 Amazon Elastic Compute Cloud (Amazon EC2) 上, Amazon Elastic Container Service (Amazon ECS),移动 设备——基本上在任何地方。
【讨论】:
AWS Express Step Functions 现在支持synchronous invocations。
请注意,Express Step Functions 适用于需要更高事件率且持续时间更短的工作负载。另外,请记住,您将根据请求的数量和工作流程的持续时间来计费,就像 lambda 一样。
【讨论】:
如果您希望您的状态机在合理的时间内完成,那么您可以让您的 Lambda(或任何其他启动状态机执行的工具)等待响应。
这是一种公认的模式,但有很多活动部分:
【讨论】: