Choice
Descubra mais sobre o componente Choice e saiba como utilizá-lo na Digibee Integration Platform.
Atualizado
Descubra mais sobre o componente Choice e saiba como utilizá-lo na Digibee Integration Platform.
Atualizado
O Choice permite o desvio de fluxo dentro de um pipeline. Ele faz parte de um conjunto de componentes que auxilia na organização das integrações.
Dê uma olhada nos parâmetros de configuração do componente. Parâmetros suportados por expressões Double Braces estão marcados com (DB)
.
Parâmetro | Descrição | Valor padrão | Tipo de dado |
---|---|---|---|
Label | Define o nome do caminho. Esse nome deve ser único, não podendo se repetir no pipeline. | N/A | String |
Type | Define a estrutura de desvio que o fluxo deve seguir (When ou Otherwise). Leia a seção Type para saber mais. | When | String |
Type Rule | Define o tipo de linguagem (Simple ou JSON Path) que será utilizada para a declaração da condição (quando When for escolhido no parâmetro Type). Leia a seção Type Rule para saber mais. | JSON Path | String |
Condition | Declara a condição utilizada para definir se o caminho deve ser executado. Quando as condições previamente definidas gerarem conflito ou causarem uma sobreposição, apenas uma delas será executada (quando When for escolhido no parâmetro Type). | $ | String |
Os parâmetros de configuração não estarão disponíveis se o componente não estiver conectado a outros componentes no pipeline. Uma vez que você. Após conectá-lo corretamente, clique no ponto de conexão e depois no ícone de engrenagem para acessar os parâmetros como mostrado no detalhe da imagem abaixo:
Para trabalhar com esse componente, você precisa conhecer os dois tipos de estrutura do Choice. Eles são utilizados para criar os caminhos:
When: define uma condição que realiza um desvio no seu fluxo para uma linha de execução específica. É necessário ter pelo menos uma condição declarada.
Otherwise: a estrutura é executada quando nenhuma das condições When é atendida. É necessário ter pelo menos uma condição declarada.
Define expressões que passam por um componente JSON para alcançar um subconjunto. Quando você estiver utilizando o Choice, será feito um match para executar o caminho.
Imagine que, no passo anterior ao Choice, o seu fluxo de dados possui a seguinte saída:
A seguinte condição declarada como When validaria a execução do desvio:
Conheça as demais opções para a declaração JSON Path:
JSON Path | Descrição |
---|---|
$ | A raiz do objeto ou array. |
.propriedade | Seleciona uma propriedade específica no objeto relacionado. |
['propriedade'] | Seleciona uma propriedade específica no objeto relacionado. Coloque apenas aspas simples ao redor do nome da propriedade. Dica: considere essa instrução caso o nome da propriedade contenha caracteres especiais, assim como espaços, ou comece com caracteres diferentes de A..Za..z_. |
[n] | Seleciona o elemento n de um array. Os índices começam com 0. |
[indice1,indice2,…] | Seleciona elementos do array com índices específicos e retorna uma lista. |
..propriedade | Recursiva descendente: busca um nome de propriedade decrescentemente e retorna um array de todos os valores com esse nome de propriedade. Sempre retorna uma lista, mesmo que apenas 1 propriedade seja encontrada. |
* | O curinga seleciona todos os elementos em um objeto ou array, qualquer que seja os seus nomes ou índices. Por exemplo, |
[entrada:saida] / [entrada:] | Seleciona elementos de um array de entrada e até, porém não necessariamente, um array de saída. Se a saída é omitida, selecione todos os arrays até o final do array. Uma lista é retornada. |
[:n] | Seleciona os primeiros n elementos do array. Uma lista é retornada. |
[-n:] | Seleciona os últimos n elementos do array. Uma lista é retornada. |
[?(expressao)] | Expressão de filtro. Seleciona todos os elementos em um objeto ou array que coincidem com o filtro especificado. Uma lista é retornada. |
[(expressao)] | Expressões de script podem ser utilizadas no lugar de nomes explícitos de propriedades ou índices. Por exemplo, |
@ | Utilizado em expressões de filtro para fazer referência ao nó atual que está sendo processado. |
== | Igual a. 1 e '1' são considerados o mesmo resultado. Valores de string devem ser anexados em aspas simples (e não em aspas): |
!= | Diferente de. Valores de string devem ser anexados em aspas simples. |
> | Maior que. |
>= | Maior ou igual a. |
< | Menor que. |
<= | Menor ou igual a. |
=~ | Compatível com uma RedEx Java Script regular. Por exemplo, |
! | Utilizado para negar um filtro. Por exemplo, |
&& | Operador lógico E. Exemplo: |
|| | Operador lógico OU. Exemplo: |
Leia esse artigo sobre JSON Path para saber mais sobre o tema.
É basicamente uma linguagem pequena e simples para avaliar expressões e predicados sem exigir novas dependências ou conhecimento do JSON Path.
Imagine que, no passo anterior ao Choice, o seu fluxo de dados possui a seguinte saída:
A condição declarada como When validaria a execução do desvio:
Conheça as demais opções para a declaração Simple:
Simple | Descrição |
---|---|
== | Igual a. |
=~ | Igual a, ignorando maiúsculas e minúsculas (quando comparando strings). |
> | Maior que. |
>= | Maior ou igual a. |
< | Menor que. |
!= | Diferente. |
!=~ | Diferente de, ignorando maiúsculas e minúsculas (quando comparando strings). |
regex | Valida uma RegEx contra a string informada. Exemplo: |
&& | Operador lógico E. Exemplo: |
|| | Operador logico OU. Exemplo: |
Exemplo: