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.