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

InputPath 和参数

"InputPath""Parameters" 字段都提供了一种在 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": { "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" } },

除了输入之外,您还可以访问一个特殊的 JSON 对象,称为上下文对象。上下文对象包含有关状态机执行的信息。请参阅 上下文对象

注意

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

本页内容: