本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
ItemSelector (地圖)
管理狀態和轉換資料
根據預設,Map
狀態的有效輸入是原始狀態輸入中存在的一組個別資料項目。ItemSelector
欄位可讓您在資料項目傳遞至 Map
狀態之前,先覆寫資料項目的值。若要覆寫值,請指定有效的 JSON 輸入,其中包含一組鍵值對。這些對可以是狀態機器定義中提供的靜態值、使用路徑從狀態輸入中選取的值,或從內容物件存取的值。
如果您使用路徑或內容物件指定鍵值對,則鍵名稱必須以 結尾.$
。
注意
ItemSelector
欄位會取代 Map
狀態內的 Parameters
欄位。如果您使用Map
狀態定義中的 Parameters
欄位來建立自訂輸入,強烈建議您使用 取代它們ItemSelector
。
您可以同時指定內嵌映射狀態和分散式映射狀態ItemSelector
的欄位。
例如,請考慮下列 JSON 輸入,其中包含imageData
節點內三個項目的陣列。對於每個Map
狀態反覆運算,陣列項目會傳遞至反覆運算做為輸入。
[
{
"resize": "true",
"format": "jpg"
},
{
"resize": "false",
"format": "png"
},
{
"resize": "true",
"format": "jpg"
}
]
使用 ItemSelector
欄位,您可以定義自訂 JSON 輸入來覆寫原始輸入,如下列範例所示。步驟函數接著會將此自訂輸入傳遞給每個Map
狀態反覆運算。自訂輸入包含 的靜態值,size
以及 Map
狀態的內容物件資料值。$$.Map.Item.Value
內容物件包含每個個別資料項目的值。
{
"ItemSelector": {
"size": 10,
"value.$": "$$.Map.Item.Value"
}
}
下列範例顯示一次反覆運算內嵌映射狀態收到的輸入:
{
"size": 10,
"value": {
"resize": "true",
"format": "jpg"
}
}
提示
如需使用 ItemSelector
欄位之分散式映射狀態的完整範例,請參閱使用分散式地圖複製大規模 CSV。