ItemSelector (Carte) - AWS Step Functions

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)

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. Le 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 JSON entrée valide contenant une collection de paires clé-valeur. Ces 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 ou des valeurs accessibles depuis l'objet de contexte.

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 vivement de le remplacer parItemSelector.

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'JSONentrée 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 du ItemSelector champ, vous pouvez définir une JSON entrée 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 contextuel pour Map l'état. L'objet de $$.Map.Item.Value contexte 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, consultezCopiez à grande échelle CSV en utilisant une carte distribuée.