ItemSelector (地圖) - AWS Step Functions

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

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