本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
状态
单个状态可以根据其输入做出决定、执行操作,并将输出传递给其他状态。在 Amazon Step Functions 中,您可以使用 Amazon States Language (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
。
某些状态类型需要额外的字段,也可能重新定义常见字段用法。
创建并运行标准流后,您可以通过在 Step Functions 控制台
创建并运行快速工作流执行后,如果快速工作流启用了日志记录,则可在Step Functions 控制台或 Amazon CloudWatch Logs 中访问有关执行的信息。有关更多信息,请参阅在 Step Functions 控制台上查看和调试执行。