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

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

使用编排资源 AmazonAmazon Step Functions

您可以使用Amazon Step Functions来编排 Amazon Lambda 函数和其他 Amazon 资源,以形成复杂而强大的工作流程。Step Functions 告诉您的应用程序何时以及在什么条件下使用您的 Amazon 资源(如 Amazon Lambda 函数)。这简化了形成复杂而稳健的工作流程的过程。使用AWS::Serverless::StateMachine,您可以定义工作流程中的各个步骤,关联每个步骤中的资源,然后将这些步骤排列在一起。您还可以在需要的地方添加过渡和条件。这简化了制作复杂而稳健的工作流程的过程。

注意

要管理包含 Step Functions 状态机的 Amazon SAM 模板,必须使用 0.52.0 或更高版本的。 Amazon SAMCLI要检查您拥有的版本,请执行命令 sam --version

Step Functions 是基于任务状态机的概念。您使用基于 JSON 的 Amazon States Language 定义状态机。Step Functions 控制台显示状态机结构的图形视图,因此您能够直观检查状态机逻辑和监控执行。

借助 Amazon Serverless Application Model (Amazon SAM) 中的 Step Functions 支持,你可以执行以下操作:

  • 定义状态机,可以直接在 Amazon SAM 模板中定义,也可以在单独的文件中定义

  • 通过 Amazon SAM 策略模板、内联策略或托管策略创建状态机执行角色

  • 使用 API Gateway 或 Amazon EventBridge 事件、在 Amazon SAM 模板内按计划或直接调用 API 来触发状态机执行

  • 使用可用的 Amazon SAM 策略模板创建常见的 Step Functions 开发模式。

示例

以下 Amazon SAM 模板文件中的示例片段在定义文件中定义了 Step Functions 状态机。请注意,该 my_state_machine.asl.json 文件必须以 Amazon States Language 编写。

AWSTemplateFormatVersion: "2010-09-09" Transform: AWS::Serverless-2016-10-31 Description: Sample SAM template with Step Functions State Machine Resources: MyStateMachine: Type: AWS::Serverless::StateMachine Properties: DefinitionUri: statemachine/my_state_machine.asl.json ...

要下载包含 Step Functions 状态机的示例 Amazon SAM 应用程序,请参阅《Amazon Step Functions 开发者指南》 Amazon SAM中的 “使用创建 Step Functions 状态机”。

更多信息

要了解有关 Step Functions 及其与之配合使用的更多信息 Amazon SAM,请参阅以下内容: