状态 - AWS Step Functions
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

状态

各个状态可以根据其输入做出决定,执行操作并将输出传递给其他状态。在 AWS Step Functions 中,您可以使用 Amazon 状态语言 定义工作流。Step Functions 控制台提供了该状态机的图形表示,以帮助可视化您的应用程序逻辑。

状态是您状态机中的元素。状态通过其名称 来引用,这可以是任意字符串,但在整个状态机的范围内必须唯一。

在状态机中,状态可以执行各种函数:

  • 在您的状态机中执行一些工作(任务状态)

  • 在执行分支之间进行选择 (Choice 状态)

  • 停止执行,返回失败或成功 (FailSucceed 状态)

  • 单纯将其输入传递到其输出或者注入一些固定数据 (Pass 状态)

  • 提供一定时间量的延迟或直至指定时间/日期 (Wait 状态)

  • 开始执行的并行分支 (Parallel 状态)

  • 动态迭代步骤(映射状态)

以下是一个名为 HelloWorld 的执行 AWS Lambda 函数的示例状态。

"HelloWorld": { "Type": "Task", "Resource": "arn:aws-cn:lambda:us-east-1:123456789012:function:HelloFunction", "Next": "AfterHelloWorldState", "Comment": "Run the HelloWorld Lambda function" }

状态有许多共同特征:

  • 每个状态必须有一个 Type 字段,指示状态是什么类型。

  • 每个状态可以有可选的 Comment 字段,以人类可读的格式存放有关状态的评论或说明。

  • 每个状态 (除了 SucceedFail 状态) 需要一个 Next 字段,或者也可以通过指定 End 字段成为最终状态。

    注意

    一个 Choice 状态可能会有多个 Next,但每个选项规则中只能有一个。Choice 状态无法使用 End

某些状态类型需要额外的字段,也可能重新定义常见字段用法。

创建并执行标准工作流后,您可以通过在 Step Functions 控制台中查看 Execution Details (执行详细信息) 页面,来访问有关各个状态、其输入和输出、何时活动以及活动时长的信息。

创建并执行快速工作流后,如果启用了日志记录,则可以在 Amazon CloudWatch Logs 中访问有关执行的信息