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.
Uso de JSONPath rutas
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.
En Amazon States Language, una ruta es una cadena $
que comienza con la que se puede identificar los componentes del JSON texto. Las rutas siguen la JsonPathQueryLanguage
se establece enJSONPath. Puede especificar una ruta para acceder a los subconjuntos de la entrada al especificar valores para InputPath
, ResultPath
y OutputPath
.
Debe utilizar la notación entre corchetes si el nombre de campo contiene algún carácter que no esté incluido en la member-name-shorthand
definición de la JsonPath ABNF_
), debe utilizar la notación entre corchetes. Por ejemplo, $.abc.['def ghi']
.
Rutas de referencia
Una ruta de referencia es una ruta cuya sintaxis está limitada de tal manera que solo puede identificar un único nodo de una JSON estructura:
-
Solo puede obtener acceso a los campos de objeto con la notación de punto (
.
) y corchete ([ ]
). -
Funciones como
length()
no son compatibles. -
Los operadores léxicos, que no son simbólicos, como
subsetof
no están admitidos. -
No se admite el filtrado por expresiones regulares o haciendo referencia a otro valor de la JSON estructura.
-
Los operadores
@
,,
,:
y?
no son compatibles
Por ejemplo, si los datos de entrada del estado contienen los valores siguientes:
{
"foo": 123,
"bar": ["a", "b", "c"],
"car": {
"cdr": true
}
}
Las siguientes rutas de referencia devolverían lo siguiente.
$.foo => 123
$.bar => ["a", "b", "c"]
$.car.cdr => true
Algunos estados utilizan rutas y rutas de referencia para controlar el flujo de una máquina de estado o para configurar los valores o las opciones del estado. Para obtener más información, consulte Modelar el procesamiento de las rutas de entrada y salida del flujo de trabajo con un simulador de flujo de datos
Aplanamiento de una matriz de matrices
Si el estado Estado Parallel de un flujo de trabajo o Estado del flujo de trabajo Map de las máquinas de estado devuelve una matriz de matrices, puede transformarlas en una matriz plana con el campo ResultSelector. Puede incluir este campo dentro de la definición de estados Parallel o Map para manipular el resultado de estos estados.
Para aplanar las matrices, utilice la sintaxis: [*]
en el ResultSelector
campo, como se muestra en el siguiente ejemplo.
"ResultSelector": { "flattenArray.$": "$[*][*]" }
Para ver ejemplos que muestran cómo aplanar una matriz, consulte el Paso 3 de los siguientes tutoriales: