本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
状态
各个州可以根据其输入做出决策,根据这些输入执行操作,并将输出传递给其他州。在中Amazon Step Functions,您可以使用亚马逊状态机 (ASL) 定义工作流程。Step Functions 控制台提供状态机的图形表示,以帮助可视化应用程序的逻辑。
如果您在 Step Functions 的控制台之外定义状态机,例如在您选择的编辑器中,则必须使用扩展名 .asl.json 保存状态机定义。
状态是状态机中的元素。状态通过其名称 来引用,这可以是任意字符串,但在整个状态机的范围内必须唯一。
在状态机中,状态可以执行各种函数:
以下是一个名为 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
字段,用于保存有关状态的人类可读评论或描述。 -
每个状态 (除了
Succeed
或Fail
状态) 需要一个Next
字段,或者也可以通过指定End
字段成为最终状态。注意 一个
Choice
状态可能会有多个Next
,但每个选项规则中只能有一个。一个Choice
州无法使用End
。
某些状态类型需要额外的字段,也可能重新定义常见字段用法。
创建并运行标准工作流后,您可以通过查看 Ste p Functions 控制台中的 “执行详细信息” 页面,访问有关每个状态、其输入和输出、活动时间和持续时间
创建并运行 Express Workflow 执行后,如果您的 Express Workflow 启用了日志记录,则可以在 Amazon L CloudWatch ogs 或 Step Functions 控制台中访问有关执行的信息。有关更多信息,请参阅在 Step Functions 控制台上查看和调试执行。