ItemSelector (Mappa) - AWS Step Functions

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

ItemSelector (Mappa)

Per impostazione predefinita, l'input effettivo per Map lo stato è l'insieme di singoli elementi di dati presenti nell'input allo stato grezzo. Il ItemSelector campo consente di sovrascrivere i valori degli elementi di dati prima che vengano trasmessi allo stato. Map Per sovrascrivere i valori, specifica un JSON input valido che contenga una raccolta di coppie chiave-valore. Queste coppie possono essere valori statici forniti nella definizione della macchina a stati, valori selezionati dall'input di stato utilizzando un percorso o valori a cui si accede dall'oggetto di contesto.

Se specificate coppie chiave-valore utilizzando un percorso o un oggetto di contesto, il nome della chiave deve terminare con. .$

Nota

Il ItemSelector campo sostituisce il Parameters campo all'interno dello stato. Map Se utilizzi il Parameters campo nelle definizioni Map dello stato per creare input personalizzati, ti consigliamo vivamente di sostituirli conItemSelector.

È possibile specificare il ItemSelector campo sia in uno stato della mappa in linea che in uno stato della mappa distribuita.

Ad esempio, considera il seguente JSON input che contiene una matrice di tre elementi all'interno del imageData nodo. Per ogni iterazione di Map stato, un elemento dell'array viene passato all'iterazione come input.

[ { "resize": "true", "format": "jpg" }, { "resize": "false", "format": "png" }, { "resize": "true", "format": "jpg" } ]

Utilizzando il ItemSelector campo, è possibile definire un JSON input personalizzato per sovrascrivere l'input originale, come mostrato nell'esempio seguente. Step Functions passa quindi questo input personalizzato a ogni iterazione di Map stato. L'input personalizzato contiene un valore statico per size e il valore di un oggetto contestuale data for Map state. L'oggetto $$.Map.Item.Value context contiene il valore di ogni singolo elemento di dati.

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

L'esempio seguente mostra l'input ricevuto da un'iterazione dello stato Inline Map:

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

Per un esempio completo di uno stato della mappa distribuita che utilizza il ItemSelector campo, vedere. Guida introduttiva allo stato di Distributed Map