Como atualizar campos com DataWeave

Como atualizar campos com DataWeave

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br

[ad_1]

Esse novo operador foi considerado a melhor coisa que já aconteceu ao DataWeave desde o pão fatiado. É o resultado de um extenso trabalho com nossos usuários em suas necessidades do dia a dia. Nesta postagem do blog, você verá em primeira mão como os scripts do DataWeave podem ser simplificados no 4.3.0 aproveitando o recurso mais recente para alterar os valores dos campos.

Enquanto trabalhava em um projeto de integração do Jenkins com o Slack, nosso objetivo era obter uma lista de testes com falha de builds do Jenkins e mostrá-los no Slack, permitindo que os usuários os designassem para revisão para si próprios ou para outros.

A API Jenkins requer XML, enquanto a API Slack, por outro lado, usa JSON extensivamente, mas também algumas informações codificadas de URL. Internamente, decidi armazenar as informações mínimas necessárias para os testes de falha atuais em JSON. Como resultado, o DataWeave assumiu o centro do projeto – não apenas tive que mapear entre esses dois mundos, mas também lidar com vários formatos.

Estrutura interna que representa um teste com falha.

Esta foi a primeira vez que usei o DataWeave tão extensivamente e fiquei impressionado com seu poder e simplicidade. Manipular os vários formatos foi fácil, na verdade, não precisei me preocupar com eles além de definir qual deles eu queria, e pude criar rapidamente as mensagens do Slack para apresentar anexos e botões. No entanto, uma coisa me pareceu estranha sobre como manter minha estrutura interna por meio das interações do usuário.

Alterar os valores de um campo

Como eu queria que os usuários do Slack atribuíssem revisores de teste, tive que manter um status de atribuição: se não houvesse um responsável, eu forneceria opções para selecionar um. Do contrário, mostraria quem era o cessionário. Portanto, quando um usuário selecionou um responsável para um teste, tive que atualizar o status do responsável. Esta foi minha abordagem inicial:

Copiar cada campo parecia estranho, então eu procurei alternativas e pousei na função “mapObject”, para passar por cada par de valores-chave, deixando todos iguais, exceto aquele que eu queria mudar.

Certamente era melhor, mas ainda era um pouco complicado e não era algo que eu pudesse inventar sozinho. É por isso que fiquei animado com a introdução de uma maneira clara e simples de atualizar campos em 4.3.0.

o atualizar operador

Este novo operador permite que você atualize campos específicos de uma estrutura de dados com novos valores. Sob o capô, DataWeave cria uma estrutura totalmente nova, mantendo os campos inalterados e atualizando os que você selecionou. Veja como meu script de atribuição foi simplificado no 4.3.0:

o atualizar operador também pode lidar com o upsert do par de valores-chave. Nos exemplos, o campo “cessionário” foi mantido com um nulo valor para sinalizar que não havia nenhum, mas se, em vez disso, eu sinalizasse que, por não ter a chave, meu script de atribuição poderia usar a funcionalidade upsert (!):

A grande vantagem desse operador é que ele torna mais fácil atualizar vários campos, mesmo fazendo isso condicionalmente:

No exemplo acima, usamos uma variável “idade” para capturar o valor do campo. Isso permite referenciá-lo em condicionais e a nova definição de valor.

Comparação de atualizações de campo DataWeave em 4.2 e 4.3

Resumo

o atualizar O operador introduzido em 4.3.0 é uma verdadeira virada de jogo, permitindo ações simples, mas poderosas, para modificar vários campos em uma carga útil.

Você pode ler todos os detalhes sobre o atualizar operador aqui. Realmente esperamos que você possa aproveitar este novo recurso e começar a simplificar seus scripts. Experimente hoje, inscrevendo-se para uma avaliação gratuita da Plataforma Anypoint.


[ad_2]

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br
Luiz Presso
Luiz Presso