

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# ItemSelector (Carte)
<a name="input-output-itemselector"></a>

**Gestion de l'état et transformation des données**  
Découvrez comment [transmettre des données entre états à l'aide de variables](workflow-variables.md) et [transformer des données avec JSONata](transforming-data.md).

Par défaut, l'entrée effective pour l'`Map`état est l'ensemble des éléments de données individuels présents dans l'entrée d'état brute. Ce `ItemSelector` champ vous permet de remplacer les valeurs des éléments de données avant qu'elles ne soient transmises à l'`Map`État. 

Pour remplacer les valeurs, spécifiez une entrée JSON valide contenant une collection de paires clé-valeur. Les paires peuvent être des valeurs statiques fournies dans la définition de votre machine à états, des valeurs sélectionnées à partir de l'entrée d'état à l'aide d'un [chemin](amazon-states-language-paths.md) ou des valeurs accessibles depuis l'[objet Context](input-output-contextobject.md). 

Si vous spécifiez des paires clé-valeur à l'aide d'un chemin ou d'un objet de contexte, le nom de la clé doit se terminer par. `.$`

**Note**  
Le `ItemSelector` champ remplace le `Parameters` champ au sein de l'`Map`État. Si vous utilisez le `Parameters` champ dans les définitions de votre `Map` état pour créer des entrées personnalisées, nous vous recommandons de le remplacer par`ItemSelector`.

Vous pouvez spécifier le `ItemSelector` champ à la fois dans un état de *carte intégrée et dans un état* de *carte distribuée*.

Par exemple, considérez l'entrée JSON suivante qui contient un tableau de trois éléments dans le `imageData` nœud. Pour chaque *itération d'`Map`état*, un élément de tableau est transmis à l'itération en entrée.

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

À l'aide de `ItemSelector` ce champ, vous pouvez définir une entrée JSON personnalisée pour remplacer l'entrée d'origine, comme indiqué dans l'exemple suivant. Step Functions transmet ensuite cette entrée personnalisée à chaque *itération `Map` d'état*. L'entrée personnalisée contient une valeur statique `size` et la valeur des données d'un objet Context pour `Map` l'état. L'objet `$$.Map.Item.Value` Context contient la valeur de chaque élément de données individuel.

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

L'exemple suivant montre l'entrée reçue par une itération de l'état de la *carte intégrée* :

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

**Astuce**  
Pour un exemple complet d'*état de carte distribuée* utilisant le `ItemSelector` champ, consultez[Copier un CSV à grande échelle à l'aide d'une carte](tutorial-map-distributed.md).