AWS Step Functions
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

InputPath 和参数

InputPathParameters 都提供了一种在 JSON 经过工作流程时操纵 JSON 的方法。InputPath 可以通过使用路径筛选 JSON 表示法来限制传递的输入(请参阅路径)。Parameters 允许您传递一组键值对,其中值是您在状态机定义中定义的静态值,或者是使用路径从输入中选择的值。

AWS Step Functions 首先应用 InputPath,然后应用 Parameters。您可以先使用 InputPath 将原始输入筛选为所选内容,然后应用 Parameters 进一步操纵该输入,或添加新值。

InputPath

使用 InputPath 选择状态输入的一部分。

例如,如果状态输入包括以下内容:

{ "comment": "Example for InputPath.", "dataset1": { "val1": 1, "val2": 2, "val3": 3 }, "dataset2": { "val1": "a", "val2": "b", "val3": "c" } }

您可以应用 InputPath

"InputPath": "$.dataset2",

借助之前的 InputPath,作为输入传递的 JSON 为以下内容。

{ "val1": "a", "val2": "b", "val3": "c" }

参数

使用 Parameters 创建作为输入传递的键值对集合。每个键值对的值可以是您在状态机定义中包含的静态值,也可以是使用路径从输入中选择的值。对于使用路径选择值的键值对,键名必须以 *.$ 结尾。

例如,给定以下输入:

{ "comment": "Example for Parameters.", "product": { "details": { "color": "blue", "size": "small", "material": "cotton" }, "availability": "in stock", "sku": "2317", "cost": "$23" } }

要选择一些信息,您可以在状态机定义中指定这些 Parameters

"Parameters": { "comment": "Selecting what I care about.", "MyDetails": { "size.$": "$.product.details.size", "exists.$": "$.product.availability", "StaticValue": "foo" } },

给定上一个输入并指定 Parameters,这是传递的 JSON。

{ "comment": "Selecting what I care about.", "MyDetails": { "size": "small", "exists": "in stock", "StaticValue": "foo" } },

注意

Parameters 还可以将信息传递给连接的资源。例如,如果您的任务状态是编排 AWS Batch 任务,则可以将相关 API 参数直接传递给该服务的 API 操作。有关更多信息,请参阅:

本页内容: