ItemSelector (地圖) - AWS Step Functions

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

ItemSelector (地圖)

管理狀態和轉換資料

Step Functions 最近新增了變數,並JSONata管理狀態和轉換資料。

了解如何使用變數傳遞資料,以及使用 轉換資料JSONata

根據預設,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使用分佈式地圖進行大規