Processar entrada e saída no Step Functions - AWS Step Functions

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

Gerenciando o estado com variáveis e JSONata

Recentemente, o Step Functions adicionou variáveis JSONata para gerenciar dados de estado e transformação.

Saiba mais na postagem do blog Simplificando a experiência do desenvolvedor com variáveis e JSONata 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 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. 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.

QueryLanguage recomendação

Para novas máquinas de estado, recomendamos a linguagem de JSONata consulta. Em máquinas de estado que não especificam um idioma de consulta, o padrão da máquina de estado é JSONPath para compatibilidade com versões anteriores. Você deve optar JSONata por usar em suas máquinas de estado ou estados individuais.

Processando entrada e saída com JSONata

Com JSONata expressões, 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 Transformação de dados com JSONata.

O diagrama a seguir mostra como as informações JSON se movem em um estado de JSONata tarefa.

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

Processando entrada e saída com JSONPath

Gerenciar estados e transformar dados

Para máquinas de estado que usam JSONPath, os seguintes campos controlam o fluxo de dados de um estado para InputPath outro: ParametersResultSelector,ResultPath,, OutputPath e. Cada JSONPath campo pode manipular o JSON à medida que ele se move por cada estado em seu fluxo de trabalho.

JSONPath os campos podem usar caminhos 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 JsonPathsintaxe.

O diagrama a seguir mostra como as informações JSON se movem em um estado de JSONPath tarefa. 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.