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)
Gestione dello stato e trasformazione dei dati
Step Functions ha recentemente aggiunto variabili e JSONata per gestire lo stato e trasformare i dati.
Scopri come passare dati con variabili e trasformare dati con JSONata.
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 Context.
Se specificate coppie chiave-valore utilizzando un percorso o un oggetto Context, 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 Context 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. Copia su larga scala utilizzando Distributed Map CSV