本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
转换
当您开始重新执行状态机时,系统将从顶级StartAt
字段中引用的状态开始。此字段以字符串形式给出,必须与工作流程中状态的名称(包括大小写)完全匹配。
状态运行后,Amazon Step Functions使用该Next
字段的值来确定要前进到的下一个状态。
Next
字段还将状态名称指定为字符串。此字符串区分大小写,必须与状态机描述中指定的状态名称完全匹配
例如,以下状态包括到 NextState
的转换。
"SomeState" : {
...,
"Next" : "NextState"
}
大多数州只允许使用该Next
字段的单一过渡规则。但是,某些流量控制状态(例如Choice
状态)允许您指定多个过渡规则,每个规则都有自己的Next
字段。Amazon 状态语言提供有关您可指定的各个状态类型的详细信息,包括如何指定转换的信息。
状态可以有多个来自其他状态的传入转换。
该过程会重复进行,直到达到终端状态(带有"Type":
Succeed
"Type": Fail
、或的状态"End": true
)或出现运行时错误。
以下规则适用于状态机中的状态:
-
状态可以在封闭区块内以任何顺序出现。但是,它们的列出顺序不会影响它们的运行顺序。运行顺序由状态的内容决定。
-
在状态机中,只能将一个状态指定为
start
状态。start
状态由顶级结构中StartAt
字段的值定义。 -
根据你的状态机逻辑(例如,如果你的状态机有多个逻辑分支),你可能有多个
end
状态。 -
如果您的状态机仅包含一种状态,则它既可以是开始状态,也可以是结束状态。