使用 Step Functions 编排 Amazon Lambda 函数 - Amazon Step Functions
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 Step Functions 编排 Amazon Lambda 函数

编排 Lambda 函数模板在股票交易工作流示例中使用了多个 Lambda 函数。其中一个函数会检查股票价格,然后提示人工选择买入或卖出股票。选择状态会根据 recommended_type 变量选择下一个函数来完成买入或卖出。任一函数完成后,交易结果将在工作流结束之前发布。

要实现人工审批步骤,通常需要暂停工作流的执行,直至返回唯一的任务令牌。在此项目中,工作流将带有任务令牌的消息传递给 Amazon SQS 队列。该消息会触发另一个 Lambda 函数,该函数配置为根据消息的有效载荷处理回调。工作流将暂停,直到它通过 SendTaskSuccess API 调用收到任务令牌。有关任务令牌的更多信息,请参阅等待具有任务令牌的回调

状态机的示意图

第 1 步:创建状态机

  1. 打开 Step Functions 控制台,然后选择创建状态机

  2. 选择从模板创建,然后找到相关的入门模板。选择下一步以继续。

  3. 选择模板使用方式:

    1. 运行演示 — 创建只读状态机。审核后,您可以创建工作流和所有相关资源。

    2. 构建依据 — 提供可编辑的工作流定义,您可借助自有资源对其进行审核、定制并部署。(不会自动创建函数或队列等相关资源。)

  4. 选择使用模板继续进行选择。

    注意

    部署到您的账户的服务将会收取标准费用。

第 2 步:运行演示状态机

如果您选择了运行演示选项,则所有相关资源都将部署并准备好运行。如果您选择了构建依据选项,则可能需要先设置占位符值并创建其他资源,然后才能运行自定义工作流。

  1. 选择部署并运行

  2. 等待 Amazon CloudFormation 堆栈部署。这一过程耗时最多 10 分钟。

  3. 出现开始执行选项后,查看输入并选择开始执行

恭喜您!

现在,您应该有了一个正在运行的状态机演示。您可以在图表视图中选择状态来查看输入、输出、变量、定义和事件。

有关 Step Functions 服务集成的更多信息,请参阅将服务与 Step Functions 集成