

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Processar entrada e saída no Step Functions
<a name="concepts-input-output-filtering"></a>

**Gerenciar estados com variáveis e JSONata**  
Recentemente, o Step Functions adicionou variáveis e JSONata para gerenciar estados e transformar dados.  
Saiba mais na postagem do blog [Simplificando a experiência do desenvolvedor com variáveis e JSonata](https://aws.amazon.com/blogs/compute/simplifying-developer-experience-with-variables-and-jsonata-in-aws-step-functions/) em AWS Step Functions

Quando uma execução do Step Functions recebe entrada em JSON, ele passa os dados para o primeiro estado no fluxo de trabalho como entrada.

Com o JSONata, você pode recuperar a entrada de estado de `$states.input`. As execuções de sua máquina de estado também fornecem os dados de entrada iniciais no [Objeto de contexto](input-output-contextobject.md). Você pode recuperar a entrada original da máquina de estado em qualquer ponto do seu fluxo de trabalho em `$states.context.Execution.Input`.

 Quando os estados são encerrados, a saída fica disponível para o *próximo* estado na máquina de estados. As entradas de estado passarão como saída de estado por padrão, a menos que você **modifique** a saída de estado. Se precisar de dados em etapas posteriores, considere armazená-los em variáveis. Para obter mais informações, consulte [Transmitir dados entre estados com variáveis](workflow-variables.md). 

**QueryLanguage recomendação**  
Para novas máquinas de estado, recomendamos a linguagem de consulta JSONata. Em máquinas de estado que não especificam uma linguagem de consulta, a máquina de estado usa como padrão JSONPath para ter compatibilidade com versões anteriores. Você deve optar por usar o JSONata para suas máquinas de estado ou para estados individuais.

**Processar entrada e saída com JSONata**

Com expressões JSONata, você pode selecionar e transformar dados. No campo `Arguments`, é possível personalizar os dados enviados para a ação. O resultado pode ser transformado em saída de estado personalizada no campo `Output`. Você também pode armazenar dados em variáveis no campo `Assign`. Para obter mais informações, consulte [Transformar dados com JSONata](transforming-data.md).

O diagrama a seguir mostra como as informações JSON se movem por meio de um estado de tarefas JSONata.

![Diagrama de fluxo mostrando a entrada de estado passando por argumentos no estado da tarefa JSONata para ação e, em seguida, para saída de estado ou variáveis.](http://docs.aws.amazon.com/pt_br/step-functions/latest/dg/images/vars-jsonata.png)


**Processar entrada e saída com JSONPath**

**Gerenciar estados e transformar dados**  
Saiba mais sobre como [transmitir dados entre estados com variáveis](workflow-variables.md) e [transformar dados com JSONata](transforming-data.md).

Em máquinas de estado que usam JSONPath, os seguintes campos controlam o fluxo de dados de um estado para outro: `InputPath`, `Parameters`, `ResultSelector`, `ResultPath` e `OutputPath`. Cada campo de JSONPath pode manipular o JSON conforme ele se move por cada estado no fluxo de trabalho.

Os campos JSONPath podem usar [caminhos](amazon-states-language-paths.md) para selecionar partes do JSON da entrada ou do resultado. Um caminho é uma string, começando com `$`, que identifica nós com texto JSON. Os caminhos do Step Functions usam [JsonPath](https://datatracker.ietf.org/wg/jsonpath/about/)sintaxe.

O diagrama a seguir mostra como as informações JSON se movem por meio de um estado de tarefas JSONPath. O `InputPath` seleciona as partes da entrada JSON a serem passadas para a tarefa do `Task` estado (por exemplo, uma AWS Lambda função). Você pode ajustar os dados enviados à ação no campo `Parameters` campo. Em seguida, com `ResultSelector`, você pode selecionar partes do resultado da ação para levar adiante. `ResultPath` seleciona a combinação de entrada de estado e resultados da tarefa para transmitir para a saída. `OutputPath` pode filtrar a saída JSON para limitar ainda mais as informações passadas para a saída.

![Ordem dos filtros: InputPath, Parâmetros ResultSelector ResultPath,, OutputPath e.](http://docs.aws.amazon.com/pt_br/step-functions/latest/dg/images/vars-jsonpath.png)


**Topics**
+ [Transmitir dados entre estados com variáveis](workflow-variables.md)
+ [Transformar dados com JSONata no Step Functions](transforming-data.md)
+ [Acessar dados de execução do objeto de contexto no Step Functions](input-output-contextobject.md)
+ [Usar caminhos JSONPath](amazon-states-language-paths.md)
+ [Manipular parâmetros nos fluxos de trabalho do Step Functions](input-output-inputpath-params.md)
+ [Exemplo: manipular dados de estado com caminhos em fluxos de trabalho do Step Functions](input-output-example.md)
+ [Especificando a saída de estado usando ResultPath em Step Functions](input-output-resultpath.md)
+ [Campos de entrada e de saída de estado do mapa no Step Functions](input-output-fields-dist-map.md)