Pass 工作流程状态
管理状态和转换数据
Pass 状态 ("Type": "Pass") 将其输入传递到其输出,不执行任何工作。Pass 状态在构造和调试状态机时非常有用。
您还可以使用 Pass 状态通过筛选条件转换 JSON 状态输入,然后将转换后的数据传递到工作流中的下一个状态。有关输入转换的信息,请参阅 在 Step Functions 工作流中操作参数。
除了常用状态字段之外,Pass 状态还允许以下字段。
-
Assign(可选,仅限 JSONata) -
为变量分配数据的键值对的集合。有关更多信息,请参阅 使用变量在状态之间传递数据。
Output(可选,仅限 JSONata)-
用于指定和转换状态的输出。指定后,该值将覆盖状态输出默认值。
输出字段接受任何 JSON 值(对象、数组、字符串、数字、布尔值、null)。任何字符串值(包括对象或数组内的字符串),若被 {% %} 字符包裹,都会被解析为 JSONata 表达式。
输出还直接接受 JSONata 表达式,例如:"Output": "{% jsonata expression %}"
有关更多信息,请参阅 在 Step Functions 中使用 JSONata 转换数据。
-
Result(可选,仅限 JSONPath) -
指传递到下一个状态的虚拟任务的输出。如果您在状态机定义中包含
ResultPath字段,Result则按ResultPath指定的方式放置,并传递到下一个状态。 -
ResultPath(可选,仅限 JSONPath) -
指定用于放置
Result中指定虚拟任务的输出(相对于输入)的位置。输入将进一步按照OutputPath字段(如果存在)指定的内容进行筛选,然后再用作状态输出。有关更多信息,请参阅 在 Step Functions 中处理输入和输出。 -
Parameters(可选,仅限 JSONPath) -
创建将作为输入传递的键值对集合。您可以指定
Parameters为静态值,也可以使用路径从输入中进行选择。有关更多信息,请参阅 在 Step Functions 工作流中操作参数。
通过状态示例(JSONPath)
以下示例说明的是 Pass 状态,该状态将一些固定数据注入到状态机中,可用于测试用途。
"No-op": {
"Type": "Pass",
"Result": {
"x-datum": 0.381018,
"y-datum": 622.2269926397355
},
"ResultPath": "$.coords",
"End": true
}
假设此状态的输入为以下内容。
{
"georefOf": "Home"
}
然后,输出将为:
{
"georefOf": "Home",
"coords": {
"x-datum": 0.381018,
"y-datum": 622.2269926397355
}
}