Processar entrada e saída no Step Functions
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 publicação do blog Simplifying developer experience with variables and JSONata in 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. 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.
Recomendação de QueryLanguage
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.
O diagrama a seguir mostra como as informações JSON se movem por meio de um estado de tarefas JSONata.
Processar entrada e saída com JSONPath
Gerenciar estados e transformar dados
Saiba mais sobre como transmitir dados entre estados com variáveis e transformar dados com JSONata.
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 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 a sintaxe JsonPath
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 transmitidas para a tarefa do estado Task (por exemplo, uma função do AWS Lambda). 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.
Tópicos
Acessar dados de execução do objeto de contexto no Step Functions
Manipular parâmetros nos fluxos de trabalho do Step Functions
Exemplo: manipular dados de estado com caminhos em fluxos de trabalho do Step Functions
Especificar a saída de estado usando ResultPath no Step Functions
Campos de entrada e de saída de estado do mapa no Step Functions