Canvas
Parametrizações

Migração de sintaxe v2 para v3

14min

Resumo

Neste guia, exploraremos as mudanças na sintaxe necessárias para migrar do padrão da versão v2.0 para a versão v3.0 ao acessar dados dentro de um fluxo de processamento.

TL;DR

Anteriormente, onde usávamos .state para acessar o JSON do payload de entrada ou acessar o resultado de um passo, agora usamos .input.body para o JSON de entrada ou .steps.<nome_do_passo>.body para o resultado de um passo.

Já para acessarmos os headers e query parameters, .input.headers e .input.query_params respectivamente.

Alterações na sintaxe

Exemplo de uso detalhado

Considere um exemplo prático onde um fluxo é disparado via Gateway Fluid com a seguinte URL e JSON de entrada (payload):

JSON


Considere que um passo chamado passo_1 tenha gerado o seguinte resultado:

JSON


Acesso aos dados de entrada

Na versão 2.0, os dados do JSON (body) de entrada eram acessados usando .state. Na versão 3.0, isso foi refinado para melhor refletir a origem dos dados, utilizando .input.body.

Agora a forma para recuperar o campo payload_campo_1 do body do webhook/evento de entrada/disparo do fluxo na versão 3.0 é:

Go


Onde, anteriormente na versão 2.0 usávamos:

Go


Acesso a Headers e Query parameters do payload de entrada

Com a atualização para a v3.0, é possível acessar os headers utilizando .input.headers e os query parameters utilizando .input.query_params.

Exemplo para acessar os headers:

Go


Ou para acessar diretamente um header específico:

Go


Caso o header (ou nome do passo, query param, etc) contenha algum caractere especial como hífen -, acesse com a seguinte sintaxe:

Go


Exemplo para acessar os query parameters:

Go


Ou acessar um parâmetro específico:

Go


Acesso ao resultado de um passo do fluxo

Em relação ao resultado gerado pela execução de um passo específico no fluxo, a sintaxe também evoluiu. Na versão v2.0, costumávamos usar .state.<nome_do_passo> para acessar o body do resultado desse passo. Na versão v3.0, adotamos uma abordagem mais estruturada com .steps.<nome_do_passo>.body.

Go


Onde anteriormente usávamos:

Go


Para acessar um resultado específico (campo_x) dentro do resultado do passo_1, na versão 3.0, utilize o exemplo conforme abaixo:

Go


Onde a sintaxe antiga v2.0 era:

Go


Acesso a Headers e Query parameters do passo

Da mesma forma, é possível utilizar os dados para ter acesso aos headers utilizando .steps.<nome_do_passo>.headers e os query parameters utilizando .steps.<nome_do_passo>.query_params em um passo.

Exemplo para acessar os headers de um passo:

Go


Ou:

Go


Exemplo para acessar os query parameters:

Go


Ou:

Go


Conclusão

Esta atualização na sintaxe é crucial para garantir a compatibilidade e eficácia na manipulação de dados em ambientes de processamento de fluxo. Certifique-se de ajustar seus templates de acordo com essas novas orientações para aproveitar ao máximo os recursos da versão v3.0. Ao adotar essa nova abordagem, você estará alinhado com as melhores práticas e garantirá uma transição suave para a versão mais recente do sistema de processamento de dados.