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

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

状态

各个州可以根据其输入做出决策,根据这些输入执行操作,并将输出传递给其他州。在中Amazon Step Functions,您可以使用亚马逊状态机 (ASL) 定义工作流程。Step Functions 控制台提供状态机的图形表示,以帮助可视化应用程序的逻辑。

注意

如果您在 Step Functions 的控制台之外定义状态机,例如在您选择的编辑器中,则必须使用扩展名 .asl.json 保存状态机定义。

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

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

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

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

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

  • 将其输入传递给其输出,或者将一些固定数据注入工作流程(P ass 状态)

  • 提供一定时间的延迟,或者直到指定的日期和时间(等待状态)

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

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

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

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

状态有许多共同特征:

  • 一个表示它是哪种状态的Type字段。

  • 一个可选Comment字段,用于保存有关状态的人类可读评论或描述。

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

    注意

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

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

创建并运行标准工作流后,您可以通过查看 Ste p Functions 控制台中的 “执行详细信息” 页面,访问有关每个状态、其输入和输出、活动时间和持续时间的信息。有关更多信息,请参阅 在 Step Functions 控制台上查看和调试执行

创建并运行 Express Workflow 执行后,如果您的 Express Workflow 启用了日志记录,则可以在 Amazon L CloudWatch ogs 或 Step Functions 控制台中访问有关执行的信息。有关更多信息,请参阅在 Step Functions 控制台上查看和调试执行