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

ItemsPath

ItemsPath 字段用于 Map 状态中以选择输入中的数组。Map 状态用于对输入中包含的数组中的每个项目迭代步骤。默认情况下,Map 状态将 ItemsPath 设置为 "$",同时选择整个输入。如果 Map 状态的输入是 JSON 数组,则它将对数组中的每个项目运行一次迭代,并将该项目作为输入传递给迭代。有关这一用法的示例,请参阅映射状态教程

ItemsPath 字段可让您在输入中指定位置,以找到用于迭代的 JSON 数组。ItemsPath 的值必须是参考路径,并且它必须标识一个作为 JSON 数组的值。例如,考虑 Map 状态的输入,其中包含两个数组,如以下示例所示。

{ "ThingsPiratesSay": [ { "say": "Avast!" }, { "say": "Yar!" }, { "say": "Walk the Plank!" } ], "ThingsGiantsSay": [ { "say": "Fee!" }, { "say": "Fi!" }, { "say": "Fo!" }, { "say": "Fum!" } ] }

在这种情况下,您可以通过 ItemsPath 选择一个特定的数组来指定用于 Map 状态迭代的数组。以下状态机定义使用 ItemsPath 来指定输入中的 "ThingsPiratesSay" 数组,并将对 "ThingsPiratesSay" 数组中的每个项目运行 SayWord 传递状态的迭代。

{ "StartAt": "PiratesSay", "States": { "PiratesSay": { "Type": "Map", "ItemsPath": "$.ThingsPiratesSay", "Iterator": { "StartAt": "SayWord", "States": { "SayWord": { "Type": "Pass", "End": true } } }, "End": true } } }

在处理输入期间,ItemsPathInputPath 之后应用。InputPath 筛选输出后,它将对状态的有效输入进行操作。

有关 Map 状态的更多信息,请参阅以下内容: