Compreensão de matrizes e objetos em saídas de funções do conector
  • 31 Oct 2023
  • 5 Minutos para Ler
  • Contribuintes

Compreensão de matrizes e objetos em saídas de funções do conector


Article Summary

Finalidade

As funções do conector SQL e HTTP enviam "saídas" para aplicativos como objetos ou matrizes. Saiba como manipular os objetos nos aplicativos.

Neste artigo, você aprenderá... * Como usar "Outputs" de uma função do Connector em um aplicativo

Como usar saídas de funções de conector em aplicativos

Matrizes e objetos são duas estruturas de dados populares usadas em muitas linguagens de programação. A Tulip utiliza essas duas estruturas de dados em Connector Functions:

  1. Quando uma função de conector SQL gera várias linhas, a saída é enviada para um aplicativo como um array cheio de objetos
  2. Quando uma função de conector HTTP retorna uma saída com um array, esse array aparecerá em um aplicativo como um array cheio de objetos.
  3. Quando uma função do conector SQL gera uma única linha ou uma função do conector HTTP tem qualquer saída, os valores são armazenados como pares de chave/valor em um objeto

Os objetos só podem ser criados automaticamente após a conclusão bem-sucedida de uma função do conector.

Este guia mostrará como as saídas da Connector Function são organizadas automaticamente. Em seguida, você verá como usar essas saídas em aplicativos.

Coleta de saída dos conectores

Imagine que você queira extrair todos os dados sobre um operador específico de um banco de dados SQL com base no ID do crachá da Tulip.

Para fazer isso, você escreveria uma função de conector SQL que recebe badge_id como entrada e salva todas as informações do operador em uma saída. Nesse caso, a saída é chamada group_name. É assim que ela se pareceria:

Essa função tem um resultado, group_name, que é armazenado como uma cadeia de caracteres. Isso se baseia no rótulo "Text" (Texto) na seção Outputs (Saídas).

De fato, quando você cria uma função Connector, não há opção para armazenar a saída como uma matriz ou objeto. Aqui estão os tipos de dados permitidos na seção "Outputs".

Portanto, você deve armazená-la como "Texto" e depois manipulá-la no Trigger Editor.

Execute essa função no Trigger Editor para armazenar a saída em um objeto.

  • Conector "Run Connector Function" (Executar função do conector): "SBD - Teste" "Navegação do operador"
  • ID do crachá: "Static Value" "text" "2222" e salve o resultado como: "Variable" "test_var"

Nesse caso, você está usando um valor de 2222 como entrada e armazenando o resultado em uma variável chamada "test_var".

Uso de objetos em um aplicativo

No exemplo acima, pegamos um output chamado group_name e o salvamos em uma variável chamada test_var. A exibição App Variables mostra que essa variável é, na verdade, um objeto com uma propriedade chamada "group_name".

De fato, se a Connector Function tivesse vários outputs, cada um deles seria armazenado como uma nova propriedade do objeto chamado "test_var" que foi criado no Trigger. Isso permite que você organize todas as saídas de uma chamada de função em um único local.

Você pode testar os resultados da função adicionando algum texto de variável ao seu aplicativo e, em seguida, selecionando a variável na guia Widget do painel de contexto.

Nesse caso, temos uma variável chamada "Order Details" que armazena um objeto com 5 campos:

  • orderPlaced
  • quantidade
  • endereço1
  • endereço2
  • address3

Assim que você selecionar o objeto na caixa de pesquisa Variables (Variáveis), verá todos os 5 campos serem preenchidos no aplicativo com rótulos baseados nos nomes das propriedades. Talvez você precise expandir o campo de texto da variável para ver todos eles de uma vez.

Exibição de objetos

Se o seu objeto tiver várias propriedades, talvez você queira mostrar todas elas de uma só vez em uma etapa do aplicativo. Isso é mais fácil do que criar um novo texto variável para cada propriedade individual.

Para reordenar/remover propriedades individuais do objeto, clique no x ou no símbolo de grade da propriedade no painel de contexto.

Para alterar o número de colunas, use a opção Colunas no painel de contexto.

Para alterar a exibição dos rótulos e valores, ajuste a cor e o tamanho da fonte no Painel de contexto.

Para ver como esses dados serão exibidos ao operador, execute o aplicativo no Player e você poderá ver o objeto inteiro. Os valores serão incluídos se você executar primeiro a Função de Conector que reúne os valores.

Manipulação de objetos

O uso de uma matriz de objetos no seu aplicativo pode limitar suas opções para extrair os pontos de dados que você está tentando atingir. Você pode manipular uma matriz de objetos que é gerada por uma função de conector para facilitar o acesso aos dados que deseja usar em sua lógica etc. Isso pode ser feito especificando a(s) chave(s) em um objeto que você deseja extrair. Isso ajudará a otimizar a saída de dados, permitindo que você aproveite melhor os dados nos quais está interessado.

Um exemplo de Connector Function pode ser visto abaixo:

image.png

image.png

A saída acima é uma matriz de objetos. Quando as funções do conector retornam uma matriz de objetos, há ações no editor de expressões que ajudam a manipulá-las. Essas funções de mapa permitem que você mapeie os valores correspondentes com base em uma determinada chave. Os valores de saída podem ser mapeados para uma matriz do tipo selecionado. Você pode usar MAP_TO_TEXT_LIST() para obter uma matriz de texto de todos os títulos.

image.png

  • Conector "Run Connector Function" (Executar função do conector): "Test" "Test Function" e salvar o resultado como: "test_output"
  • "Manipulação de dados" "Armazenar" dados: "Expressão" "MAP_TO_TEXT_LIST(Variable.test_out.Test Parent, 'Test Child')

O primeiro parâmetro passado para a função map é a matriz de objetos. O segundo parâmetro, 'Test Child', é o nome do extrator descrito na saída da função do conector. O nome do extrator é usado como a chave para extrair valores. Isso produzirá todos os títulos em uma matriz de cadeias de caracteres.

Revisão de todas as variáveis de objeto em um aplicativo

Para manipular uma estrutura de dados em um aplicativo, ela já deve estar armazenada como uma variável. Você pode ver as variáveis existentes entrando no painel de contexto do App Editor e selecionando o símbolo do Sigma ao lado de "Variáveis" na guia Aplicativo.

Os objetos serão mostrados com o símbolo de objeto universal, "{}".

Exibição de várias linhas de SQL ou matrizes de conectores HTTP

Se você quiser transformar várias linhas de saída SQL ou matrizes de conectores HTTP em listas interativas em um aplicativo, consulte este guia separado

Leitura adicional


Encontrou o que estava procurando?

Você também pode ir para community.tulip.co para postar sua pergunta ou ver se outras pessoas tiveram uma pergunta semelhante!


Este artigo foi útil?