Rutas - AWS Step Functions

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.

Rutas

En Amazon States Language, una ruta es una cadena que comienza por $ y se puede utilizar para identificar componentes en el texto JSON. Las rutas siguen JsonPathla sintaxis. Puede especificar una ruta para acceder a los subconjuntos de la entrada al especificar valores para InputPath, ResultPath y OutputPath. Para más información, consulte Procesamiento de entrada y salida en Step Functions.

nota

También puede especificar un nodo de JSON de la entrada o del objeto context mediante rutas en el campo Parameters de una definición de estado. Consulte Cómo pasar parámetros a una API de servicio.

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 regla JsonPath ABNF. Por lo tanto, para codificar caracteres especiales, como los signos de puntuación (excepto_), 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 forma que solo puede identificar un único nodo en una estructura JSON:

  • 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 por referencia a otro valor de la estructura JSON.

  • El operador @, que coincide con el nodo actual que se está procesando en un filtro, no coincide con los valores escalares. Solo coincide con los objetos.

Por ejemplo, si los datos de entrada del estado contienen los valores siguientes:

{ "foo": 123, "bar": ["a", "b", "c"], "car": { "cdr": true }, "jar": [{"a": 1}, {"a": 5}, {"a": 2}, {"a": 7}, {"a": 3}] }

Las siguientes rutas de referencia devolverían lo siguiente.

$.foo => 123 $.bar => ["a", "b", "c"] $.car.cdr => true $.jar[?(@.a >= 5)] => [{"a": 5}, {"a": 7}]

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 y Utilizar JSONPath de forma eficaz en. AWS Step Functions

Aplanamiento de una matriz de matrices

Si el estado Parallel o 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 matrices, utilice la sintaxis JMESPath [*] en el campo ResultSelector, 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: