ItemSelector - 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

Per impostazione predefinita, l'input effettivo per lo Map stato è l'insieme di singoli elementi di dati presenti nell'input in 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 input JSON 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 Map stato. Se utilizzi il Parameters campo nelle definizioni dei tuoi Map stati per creare input personalizzati, ti consigliamo vivamente di sostituirli conItemSelector.

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

Ad esempio, considera il seguente input JSON 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 input JSON personalizzato per sovrascrivere l'input originale, come mostrato nell'esempio seguente. Step Functions passa quindi questo input personalizzato a ciascuna iterazione di Map stato. L'input personalizzato contiene un valore statico per size i dati di un oggetto di contesto per Map lo stato. L'oggetto di $$.Map.Item.Value contesto 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 della mappa in linea:

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

Per un esempio completo di uno stato di una mappa distribuita che utilizza il ItemSelector campo, vedereGuida introduttiva all'utilizzo dello stato di Distributed Map.