Pass 工作流程状态 - AWS Step Functions

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Pass 工作流程状态

管理状态和转换数据

Step Functions 最近添加了变量JSONata,用于管理状态和转换数据。

了解如何使用变量传递数据使用转换数据JSONata

Pass 状态 ("Type": "Pass") 将其输入传递到其输出,不执行任何工作。Pass 状态在构造和调试状态机时非常有用。

您也可以使用Pass状态通过筛选器转换JSON状态输入,然后将转换后的数据传递到工作流程中的下一个状态。有关输入转换的信息,请参阅 在 Step Functions 工作流程中操作参数

除了常用状态字段之外,Pass 状态还允许以下字段。

Assign(JSONata仅限可选)

用于将数据分配给变量的键值对的集合。有关更多信息,请参阅 使用变量在状态之间传递数据

Output(JSONata仅限可选)

用于指定和转换状态的输出。指定后,该值将覆盖状态输出默认值。

输出字段接受任何JSON值(对象、数组、字符串、数字、布尔值、空)。任何字符串值,包括对象或数组内部的字符串值,都将被计算为JSONata被 {%%} 个字符包围。

输出也直接接受JSONata表达式,例如:“输出”:“{% jsonata expression%}”

有关更多信息,请参阅 在 Step Functi JSONata ons 中使用转换数据

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 } }