

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
<a name="concepts-input-output-filtering"></a>

**Administración del estado con variables y JSONata**  
Step Functions ha agregado recientemente variables y JSONata para administrar el estado y transformar los datos.  
Obtén más información en la entrada del blog Cómo [simplificar la experiencia de los desarrolladores con variables y JSonata](https://aws.amazon.com/blogs/compute/simplifying-developer-experience-with-variables-and-jsonata-in-aws-step-functions/) 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 desde `$states.input`. Las ejecuciones de su máquina de estado también proporcionan esos datos de entrada iniciales en el [Objeto Context (Contexto)](input-output-contextobject.md). 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](workflow-variables.md). 

**QueryLanguage recomendación**  
Para máquinas de estado nuevas, recomendamos el lenguaje de consulta de JSONata. En las máquinas de estado que no especifican un lenguaje de consulta, la máquina de estado utiliza JSONPath de forma predeterminada para garantizar la compatibilidad con versiones anteriores. Debe inscribirse para utilizar JSONata para sus máquinas de estado o estados individuales.

**Procesamiento de entradas y salidas con JSONata**

Con las expresiones de JSONata, 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 [Transformación de datos con JSONata](transforming-data.md).

En el siguiente diagrama se muestra cómo se traslada la información de JSON a través de un estado de tarea de JSONata.

![Diagrama de flujo que muestra la entrada de estado pasando por los argumentos del estado de la tarea (JSonata) a Action y, luego, a la salida o variables del estado.](http://docs.aws.amazon.com/es_es/step-functions/latest/dg/images/vars-jsonata.png)


**Procesamiento de entradas y salidas con JSONPath**

**Administración del estado y transformación de los datos**  
Obtenga información sobre la [Transmisión de datos entre estados con variables](workflow-variables.md) y la [Transformación de datos con JSONata](transforming-data.md).

Para las máquinas de estado que utilizan JSONPath, los siguientes campos controlan el flujo de datos de un estado a otro: `InputPath`, `Parameters`, `ResultSelector`, `ResultPath` y `OutputPath`. Cada campo JSONPath puede manipular el objeto JSON a medida que se desplaza a través de cada estado del flujo de trabajo.

Los campos JSONPath pueden utilizar [rutas](amazon-states-language-paths.md) para seleccionar partes del objeto 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 [JsonPath](https://datatracker.ietf.org/wg/jsonpath/about/)sintaxis.

En el siguiente diagrama se muestra cómo se traslada la información de JSON a través de un estado de tarea de JSONPath. `InputPath`Selecciona 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.](http://docs.aws.amazon.com/es_es/step-functions/latest/dg/images/vars-jsonpath.png)


**Topics**
+ [Transmisión de datos entre estados con variables](workflow-variables.md)
+ [Transformación de datos con JSONata en Step Functions](transforming-data.md)
+ [Acceso a los datos de ejecución desde el objeto Context en Step Functions](input-output-contextobject.md)
+ [Uso de rutas JSONPath](amazon-states-language-paths.md)
+ [Manipulación de los parámetros en los flujos de trabajo de Step Functions](input-output-inputpath-params.md)
+ [Ejemplo: Manipulación de datos de estado con rutas en flujos de trabajo de Step Functions](input-output-example.md)
+ [Especificación de la salida de estado mediante ResultPath Step Functions](input-output-resultpath.md)
+ [Campos de entrada y salida del estado Map en Step Functions](input-output-fields-dist-map.md)