我有一个选择状态,如下所示:
"ChoiceStateX": {
"Type": "Choice",
"Choices": [
{
"Not": {
"Variable": "$.type",
"StringEquals": "Private"
},
"Next": "Public"
},
{
"Variable": "$.value",
"NumericEquals": 0,
"Next": "MyEndState" // can I do something like this?
},
}
对于$.value==0的状态,我需要结束step函数,因为Choices
不支持End: true
,所以我需要明确地拥有类似MyEndState
的东西。
那么,我应该如何在step函数中定义MyEndState
呢?有这样的办法吗?
在这种情况下,我要做的是添加一个具有End: true
的PassState
,并将ChoiceState
的Next
发送到该状态。
"Type": "Succeed"
的状态似乎是专门为此目的而设计的。
Succeed
状态的AWS文档解释说,它是Choice状态分支的有用目标,这些分支除了停止执行之外什么都不做(它们是终端状态,没有Next
字段,也不需要End
字段(。
所以我只想补充一句:
"SuccessState": {
"Type": "Succeed"
}
并且(而不是MyEndState
(指出Choice的"Next"
到"SuccessState"
。