使用 AWS Step Functions 编排 AWS SAM 资源 - AWS Serverless Application Model

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

使用 AWS Step Functions 编排 AWS SAM 资源

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

注意

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

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

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

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

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

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

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

示例

以下 AWS 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 状态机的示例 AWS SAM 应用程序,请参阅《AWS Step Functions 开发人员指南》中的使用 AWS SAM 创建 Step Functions 状态机

更多信息

要了解有关 Step Functions 以及将其与 AWS SAM 一起使用的更多信息,请参阅以下内容: