本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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輸入來覆寫原始輸入,如下列範例所示。Step Functions 然後將此自定義輸入傳遞給每個Map
狀態迭代。自訂輸入包含Map
狀態的靜態值size
和上下文物件資料的值。$$.Map.Item.Value
上下文對象包含每個單獨的數據項的值。
{
"ItemSelector": {
"size": 10,
"value.$": "$$.Map.Item.Value"
}
}
下面的例子顯示了由內聯映射狀態的一個迭代接收的輸入:
{
"size": 10,
"value": {
"resize": "true",
"format": "jpg"
}
}
提示
如需使用ItemSelector
欄位的「分散式貼圖」狀態的完整範例,請參閱CSV使用分佈式地圖進行大規。