Procesamiento de entradas y salidas en Step Functions - 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.

Procesamiento de entradas y salidas en Step Functions

Administrar el estado con variables y JSONata

Step Functions agregó recientemente variables y JSONata para administrar el estado y transformar los datos.

Obtenga más información en la entrada del blog Simplificar la experiencia del desarrollador con variables y JSONata en AWS Step Functions

Cuando una ejecución de Step Functions recibe una entrada JSON, pasa dichos datos al primer estado en el flujo de trabajo como entrada.

Con JSONata, puede recuperar la entrada de estado de$states.input. Las ejecuciones de su máquina de estado también proporcionan esos datos de entrada iniciales en el Objeto Context (Contexto). Puede recuperar la entrada original de la máquina de estado en cualquier punto de su flujo de trabajo desde $states.context.Execution.Input.

Cuando los estados terminan, su salida está disponible para el siguiente estado de la máquina de estado. Las entradas del estado pasarán de forma predeterminada como salida de estado, a menos que modifique la salida del estado. Para los datos que pueda necesitar en pasos posteriores, considere la posibilidad de almacenarlos en variables. Para obtener más información, consulte Transmisión de datos entre estados con variables.

QueryLanguage recomendación

Para las nuevas máquinas de estado, recomendamos el lenguaje de JSONata consulta. En las máquinas de estados que no especifican un idioma de consulta, el valor predeterminado de la máquina de estados es JSONPath para garantizar la compatibilidad con versiones anteriores. Debe optar por utilizarla JSONata para sus máquinas de estados o estados individuales.

Procesando entradas y salidas con JSONata

Con JSONata las expresiones, puede seleccionar y transformar datos. En el campo Arguments, puede personalizar los datos que se envían a la acción. El resultado se puede transformar en una salida de estado personalizada en el campo Output. También puede almacenar datos en variables en el campo Assign. Para obtener más información, consulte Transformar datos con JSONata.

El siguiente diagrama muestra cómo se mueve la información de JSON a través del estado de una JSONata tarea.

Diagram showing JSONata task state flow with input, arguments, output, and action components.

Procesar la entrada y la salida con JSONPath

Administración del estado y transformación de los datos

Para las máquinas de estados que las utilizan JSONPath, los siguientes campos controlan el flujo de datos de un estado a InputPath otro:Parameters,ResultSelector,ResultPath, yOutputPath. Cada JSONPath campo puede manipular JSON a medida que se mueve por cada estado del flujo de trabajo.

JSONPath los campos pueden usar rutas para seleccionar partes del JSON de la entrada o del resultado. Una ruta es una cadena, que empieza por $ e identifica nodos dentro de texto JSON. Las rutas de Step Functions utilizan JsonPathsintaxis.

El siguiente diagrama muestra cómo se mueve la información de JSON a través del estado de una JSONPath tarea. InputPathSelecciona las partes de la entrada JSON para pasarlas a la tarea del Task estado (por ejemplo, una AWS Lambda función). Puede ajustar los datos que se envían a su acción en el campo Parameters. A continuación, con ResultSelector, puede seleccionar partes del resultado de la acción para transferirlas. ResultPath selecciona la combinación de entrada de estado y resultados de la tarea para pasarlos a la salida. OutputPath puede filtrar la salida JSON para limitar aún más la información que se pasa a la salida.

Orden de los filtros: InputPath, Parámetros ResultSelector, ResultPath, y OutputPath.