MENU
    Compreensão de matrizes e objetos em saídas de funções do conector
    • 23 Jan 2025
    • 5 Minutos para Ler
    • Contribuintes

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


    Resumo do artigo

    Finalidade

    As funções de 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 retorna 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. Veja a seguir 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 lateral.

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

    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

    O resultado 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 mapear 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 salve 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 lateral do App Editor e selecionando o símbolo Sigma ao lado de "Variables" (Variáveis) na guia App.

    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?