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.
ItemsPath (Solo en el mapa) JSONPath
Administrar el estado y transformar los datos
Esta página hace referencia a JSONPath. 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.
En los estados JSONPath basados, usa el ItemsPath
campo para seleccionar una matriz dentro de una entrada JSON proporcionada a un Map
estado. El estado Map
repite un conjunto de pasos para cada elemento de la matriz. De forma predeterminada, un estado Map
establece ItemsPath
en $
, lo que selecciona toda la entrada. Si la entrada del estado Map
es una matriz JSON, ejecutará una iteración para cada elemento de la matriz y pasará ese elemento a la iteración como entrada.
nota
Puede usar ItemsPath
en el estado Map Distributed solo si usa una entrada JSON pasada desde un estado anterior del flujo de trabajo.
Puede usar el campo ItemsPath
para especificar una ubicación en la entrada que apunte a la matriz JSON utilizada en las iteraciones. El valor de ItemsPath
debe ser una ruta de referencia y esa ruta debe apuntar a una matriz JSON. Por ejemplo, supongamos que la entrada a un estado Map
incluye dos matrices, como en el siguiente ejemplo.
{
"ThingsPiratesSay": [
{
"say": "Avast!"
},
{
"say": "Yar!"
},
{
"say": "Walk the Plank!"
}
],
"ThingsGiantsSay": [
{
"say": "Fee!"
},
{
"say": "Fi!"
},
{
"say": "Fo!"
},
{
"say": "Fum!"
}
]
}
En este caso, puede especificar qué matriz se ha de utilizar para las iteraciones del estado Map
seleccionándola mediante ItemsPath
. La siguiente definición de máquina de estado especifica la matriz ThingsPiratesSay
en la entrada mediante ItemsPath
. A continuación, ejecuta una iteración del estado de paso SayWord
para cada elemento de la matriz ThingsPiratesSay
.
{
"StartAt": "PiratesSay",
"States": {
"PiratesSay": {
"Type": "Map",
"ItemsPath": "$.ThingsPiratesSay",
"ItemProcessor": {
"StartAt": "SayWord",
"States": {
"SayWord": {
"Type": "Pass",
"End": true
}
}
},
"End": true
}
}
}
Al procesar la entrada, el Map
estado aplica ItemsPath
después de InputPath. Opera en la entrada efectiva al estado, después de que InputPath
filtre la entrada.
Para obtener más información acerca de los estados Map
, consulte los temas siguientes: