本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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
陣列,然後針對陣列中的每個項目執行SayWord
傳遞狀態的ThingsPiratesSay
反覆運算。
{
"StartAt": "PiratesSay",
"States": {
"PiratesSay": {
"Type": "Map",
"ItemsPath": "$.ThingsPiratesSay",
"ItemProcessor": {
"StartAt": "SayWord",
"States": {
"SayWord": {
"Type": "Pass",
"End": true
}
}
},
"End": true
}
}
}
處理輸入時,狀Map
態適用於ItemsPath
之後InputPath。它在InputPath
過濾輸入後的有效輸入到狀態上進行操作。
如需 Map
狀態的詳細資訊,請參閱下列內容: