Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
ItemSelector (Mapa)
Administrar el estado y transformar los datos
Step Functions agregó recientemente variables y JSONata para administrar el estado y transformar los datos.
Obtenga información sobre cómo pasar datos con variables y cómo transformar datos con JSONata.
De forma predeterminada, la entrada efectiva para el estado Map
es el conjunto de elementos de datos individuales presentes en la entrada de estado sin procesar. El campo ItemSelector
permite anular los valores de los elementos de datos antes de que se transfieran al estado Map
. Para anular los valores, especifique una JSON entrada válida que contenga un conjunto de pares clave-valor. Estos pares pueden ser valores estáticos proporcionados en la definición de la máquina de estados, valores seleccionados de la entrada de estado mediante una ruta o valores a los que se accede desde el objeto Context.
Si especifica pares clave-valor mediante una ruta o un objeto de contexto, el nombre de la clave debe terminar en. .$
nota
El campo ItemSelector
reemplaza al campo Parameters
dentro del estado Map
. Si utiliza el campo Parameters
en las definiciones de estado Map
para crear entradas personalizadas, le recomendamos encarecidamente que lo sustituya por ItemSelector
.
Puede especificar el campo ItemSelector
tanto en un estado Map en línea como en un estado Map Distributed.
Por ejemplo, considere la siguiente JSON entrada que contiene una matriz de tres elementos dentro del imageData
nodo. Por cada iteración del estado Map
, se pasa un elemento de matriz a la iteración como entrada.
[
{
"resize": "true",
"format": "jpg"
},
{
"resize": "false",
"format": "png"
},
{
"resize": "true",
"format": "jpg"
}
]
Con el ItemSelector
campo, puede definir una JSON entrada personalizada para anular la entrada original, como se muestra en el siguiente ejemplo. Luego, Step Functions pasa esta entrada personalizada a cada iteración del estado Map
. La entrada personalizada contiene un valor estático para el Map
estado size
y el valor de los datos de un objeto de contexto. El objeto $$.Map.Item.Value
Context contiene el valor de cada elemento de datos individual.
{
"ItemSelector": {
"size": 10,
"value.$": "$$.Map.Item.Value"
}
}
El siguiente ejemplo muestra la entrada recibida por una iteración del estado Map en línea:
{
"size": 10,
"value": {
"resize": "true",
"format": "jpg"
}
}
sugerencia
Para ver un ejemplo completo de un estado Map Distributed que usa el campo ItemSelector
, consulte Copiar datos CSV a gran escala mediante Distributed Map.