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

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

ItemsPath

使用该ItemsPath字段在提供给Map状态的 JSON 输入中选择数组。Map状态为数组中的每个项目重复一组步骤。默认情况下,Map状态设置ItemsPath$,即选择整个输入。如果Map状态的输入是 JSON 数组,则它会对数组中的每个项目进行迭代,将该项目作为输入传递给迭代。

注意

只有在工作流程ItemsPath中使用从先前状态传递的 JSON 输入时,才能在 “分布式地图” 状态下使用。

重要

目前,该Map州的分布式模式仅在商业区域可用。有关在工作流程中Map加入状态的信息,请参阅映射

您可以使用该ItemsPath字段在输入中指定指向用于迭代的 JSON 数组的位置。的值ItemsPath必须是引用路径,并且该路径必须指向 JSON 数组。例如,考虑 Map 状态的输入,其中包含两个数组,如以下示例所示。

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

在这种情况下,您可以通过选择哪个数组来指定使用哪个数组进行Map状态迭代ItemsPath。以下状态机定义使用ItemsPath .it 在输入中指定ThingsPiratesSay数组,然后为数ThingsPiratesSay组中的每个项目运行SayWord传递状态的迭代。

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

处理输入时,Map状态将在ItemsPath之后生效InputPath。在对输入进行InputPath过滤后,它对状态的有效输入进行操作。

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