ItemsPath - AWS Step Functions

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

ItemsPath

使用ItemsPath欄位在提供給Map狀態的 JSON 輸入內選取陣列。狀Map態會針對陣列中的每個項目重複一組步驟。默認情況下,Map狀態設置ItemsPath$,選擇整個輸入。如果Map狀態的輸入是 JSON 陣列,它會針對陣列中的每個項目執行迭代,並將該項目作為輸入傳遞給迭代。

注意

只有在工作流程ItemsPath中使用從先前狀態傳遞的 JSON 輸入時,才能在「分散式對應」狀態中使用。

您可以使用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 狀態的詳細資訊,請參閱下列內容: