

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)
<a name="input-output-itemselector"></a>

**Gestione dello stato e trasformazione dei dati**  
Scopri come [passare dati tra stati con variabili](workflow-variables.md) e [Trasformare dati](transforming-data.md) 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. Con il `ItemSelector` campo, puoi 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. [Le coppie possono essere valori statici forniti nella definizione della macchina a stati, valori selezionati dall'input di stato utilizzando un [percorso](amazon-states-language-paths.md) o valori a cui si accede dall'oggetto Context.](input-output-contextobject.md) 

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 di sostituirli con`ItemSelector`.

È 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 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 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 CSV su larga scala utilizzando Distributed Map](tutorial-map-distributed.md)