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狀態迭代。自訂輸入包含Map狀態的靜態值size和上下文物件資料的值。$$.Map.Item.Value上下文對象包含每個單獨的數據項的值。

{ "ItemSelector": { "size": 10, "value.$": "$$.Map.Item.Value" } }

下面的例子顯示了由內聯映射狀態的一個迭代接收的輸入:

{ "size": 10, "value": { "resize": "true", "format": "jpg" } }
提示

如需使用ItemSelector欄位的「分散式貼圖」狀態的完整範例,請參閱開始使用分散式地圖狀態