Comprendre les tableaux et les objets dans les sorties de fonctions de connecteurs
  • 31 Oct 2023
  • 5 Minutes à lire
  • Contributeurs

Comprendre les tableaux et les objets dans les sorties de fonctions de connecteurs


Article Summary

Objectif

Les fonctions des connecteurs SQL et HTTP envoient des "sorties" aux applications sous forme d'objets ou de tableaux. Apprenez à manipuler les objets dans les applications.

Dans cet article, vous apprendrez... * Comment utiliser les "sorties" d'une fonction de connecteur dans une application.

Comment utiliser les sorties d'une fonction de connecteur dans une application

Lestableaux et les objets sont deux structures de données populaires utilisées dans de nombreux langages de programmation. Tulip utilise ces deux structures de données dans les fonctions de connecteur :

  1. Lorsqu'une fonction de connecteur SQL renvoie plusieurs lignes, la sortie est envoyée à une application sous la forme d'un tableau plein d'objets.
  2. Lorsqu'une fonction de connecteur HTTP renvoie une sortie contenant un tableau, le tableau apparaîtra dans l'application comme un tableau plein d'objets.
  3. Lorsqu'une fonction de connecteur SQL renvoie une seule ligne, ou qu'une fonction de connecteur HTTP a un résultat quelconque, les valeurs sont stockées sous forme de paires clé/valeur dans un objet.

Les objets ne peuvent être créés automatiquement que lorsqu'une fonction de connecteur a été exécutée avec succès.

Ce guide vous montrera comment les résultats des fonctions de connecteur sont automatiquement organisés. Vous verrez ensuite comment utiliser ces résultats dans les applications.

Collecte des données de sortie des connecteurs

Imaginez que vous souhaitiez extraire toutes les données relatives à un opérateur spécifique d'une base de données SQL sur la base de l'identifiant de son badge Tulip.

Pour ce faire, vous devez écrire une fonction SQL Connector qui prend badge_id en entrée et enregistre toutes les informations de l'opérateur dans une sortie. Dans ce cas, la sortie s'appelle nom_groupe. Voici à quoi cela ressemblerait :

Cette fonction n'a qu'un seul résultat, nom_groupe, qui est stocké sous forme de chaîne de caractères. Ceci est basé sur l'étiquette "Texte" dans la section Sorties.

En fait, lorsque vous créez une fonction Connecteur, vous n'avez pas la possibilité de stocker les données de sortie sous la forme d'un tableau ou d'un objet. Voici les types de données autorisés dans la section "Outputs".

Vous devez donc la stocker en tant que "Texte", puis la manipuler dans l'éditeur de déclencheurs.

Exécutez cette fonction dans l'éditeur de déclencheurs pour stocker la sortie dans un objet.

  • "Exécuter la fonction du connecteur" connecteur : "SBD - Test" "Navigation de l'opérateur"
  • badge ID : "Static Value" "text" "2222" et enregistrer le résultat en tant que : "Variable" "test_var"

Dans ce cas, vous utilisez la valeur 2222 comme entrée et vous enregistrez le résultat dans une variable appelée "test_var".

Utilisation d'objets dans une application

Dans l'exemple ci-dessus, nous avons pris une sortie appelée group_name et l'avons enregistrée dans une variable appelée test_var. La vue App Variables montre que cette variable est en fait un objet avec une propriété appelée "group_name".

En fait, si la fonction de connecteur avait plusieurs sorties, chacune d'entre elles serait stockée en tant que nouvelle propriété de l'objet appelé "test_var" qui a été créé dans le déclencheur. Cela vous permet d'organiser toutes les sorties d'un appel de fonction en un seul endroit.

Vous pouvez tester les résultats de la fonction en ajoutant un texte de variable à votre application, puis en sélectionnant la variable dans l'onglet Widget du volet Contexte.

Dans ce cas, nous avons une variable appelée "Détails de la commande" qui stocke un objet avec 5 champs :

  • orderPlaced
  • quantité
  • adresse1
  • adresse2
  • adresse3

Dès que vous sélectionnez l'objet dans la zone de recherche Variables, vous verrez les 5 champs se remplir dans votre application avec des étiquettes basées sur les noms des propriétés. Il se peut que vous deviez développer le champ de texte de la variable pour les voir tous en même temps.

Affichage des objets

Si votre objet possède plusieurs propriétés, vous pouvez vouloir les afficher toutes en même temps dans une étape de votre application. Cela est plus facile que de créer un nouveau texte variable pour chaque propriété individuelle.

Pour réorganiser/supprimer des propriétés individuelles de l'objet, cliquez sur le x ou sur le symbole de la grille sur la propriété dans le volet contextuel.

Pour modifier le nombre de colonnes, utilisez l'option Colonnes du volet de contexte.

Pour modifier l'affichage des étiquettes et des valeurs, ajustez la couleur et la taille de la police dans le volet de contexte.

Pour voir comment ces données seront présentées à l'opérateur, exécutez l'application dans le lecteur et vous pourrez voir l'objet dans son intégralité. Les valeurs seront incluses si vous exécutez d'abord la fonction de connecteur qui recueille les valeurs.

Manipulation d'objets

L'utilisation d'un tableau d'objets dans votre application peut limiter les possibilités d'extraction des points de données que vous essayez de cibler. Vous pouvez manipuler un tableau d'objets produit par une fonction de connecteur pour faciliter l'accès aux données que vous souhaitez utiliser dans votre logique, etc. Pour ce faire, il suffit de spécifier la ou les clés d'un objet que vous souhaitez extraire. Cela vous aidera à rationaliser votre sortie de données, vous permettant de mieux exploiter les données qui vous intéressent.

Un exemple de fonction de connecteur est présenté ci-dessous :

image.png

image.png

Le résultat ci-dessus est un tableau d'objets. Lorsque les fonctions de connecteur renvoient un tableau d'objets, il existe des actions dans l'éditeur d'expression qui permettent de les manipuler. Ces fonctions de mappage vous permettent de mapper les valeurs correspondantes sur la base d'une clé donnée. Les valeurs produites peuvent être mappées dans un tableau du type sélectionné. Vous pouvez utiliser MAP_TO_TEXT_LIST() pour obtenir un tableau de texte contenant tous les titres.

image.png

  • Connecteur "Run Connector Function" (Exécuter la fonction du connecteur) : "Test" "Tester la fonction" et enregistrer le résultat sous : "test_output"
  • "Manipulation de données" "Stocker" les données : "Expression" "MAP_TO_TEXT_LIST(Variable.test_out.Test Parent, 'Test Child')

Le premier paramètre transmis à la fonction map est le tableau d'objets. Le deuxième paramètre, 'Test Child', est le nom de l'extracteur indiqué dans la sortie de la fonction connector. Le nom de l'extracteur est utilisé comme clé pour extraire les valeurs. Cela permet d'obtenir tous les titres dans un tableau de chaînes de caractères.

Examen de toutes les variables objets d'une application

Afin de manipuler une structure de données dans une application, celle-ci doit déjà être stockée en tant que variable. Vous pouvez voir vos variables existantes en entrant dans le volet contextuel de l'éditeur d'application et en sélectionnant le symbole Sigma à côté de "Variables" dans l'onglet Application.

Les objets seront affichés avec le symbole d'objet universel, "{}".

Affichage de plusieurs lignes de SQL ou de tableaux à partir de connecteurs HTTP

Si vous souhaitez transformer plusieurs lignes de données SQL ou de tableaux provenant de connecteurs HTTP en listes interactives dans une application, consultez ce guide séparé.

Pour en savoir plus


Vous avez trouvé ce que vous cherchiez ?

Vous pouvez également vous rendre sur community.tulip.co pour poser votre question ou voir si d'autres personnes ont répondu à une question similaire !


Cet article vous a-t-il été utile ?