Mappeur
L'action Mappeur crée une sortie personnalisée en combinant les sorties de plusieurs actions et en restructurant les objets, les collections, les tableaux ou les chaînes de la sortie selon vos besoins. Vous pouvez également appliquez plusieurs fonctions sur la sortie. Il n'est ainsi pas nécessaire d'écrire des codes Node.js complexes pour récupérer et combiner des valeurs de champ ou des sorties précises de plusieurs actions. Le mappeur propose un certain nombre de fonctions modulaires qui vous permettent de réaliser ce qui suit :
• Combiner des sorties
• Itérer des objets, des tableaux, des chaînes et des collections
• Manipuler et tester des valeurs
Utilisation de l'action Mappeur
Pour utiliser cette action dans votre processus, connectez-la à ThingWorx Flow. Pour ce faire, procédez comme suit :
1. Cliquez sur
![](../../../../ThingWorx/images/UtlityIcon.png)
, faites glisser l'action
Mappeur sous l'utilitaire
Outils de développement jusqu'au canevas, placez le pointeur sur l'action, puis cliquez sur
![](../../../../ThingWorx/images/SettingsIcon_2.png)
ou double-cliquez sur l'action. La fenêtre de l'action Mappeur s'ouvre.
2. Modifiez le nom de l'Etiquette, si nécessaire. Par défaut, le nom de l'étiquette est identique à celui de l'action.
3. Cliquez sur
![](../../../../ThingWorx/images/AddAuthorization.png)
pour créer une nouvelle paire clé/valeur.
a. Renommez la clé et définissez la valeur. Vous pouvez mapper la sortie des actions précédentes en tant qu'entrée dans le champ de valeur.
b. Cliquez sur </> pour ajouter des fonctions sur l'entrée spécifiée.
Pour ajouter d'autres paires clé/valeur, cliquez sur
![](../../../../ThingWorx/images/AddAuthorization.png)
.
4. Cliquez sur Terminé.
Types de données pris en charge par le mappeur
Le mappeur accepte les valeurs d'entrée de type de données Tableau, Collection, Objet et Chaîne.
• Tableau : s'utilise lorsque la clé spécifiée renvoie un tableau. Pour définir le type de données sur Tableau, cliquez sur
![](../../../../ThingWorx/images/SettingsIcon_2.png)
, puis sélectionnez Tableau dans la liste. Vous pouvez appliquer des fonctions sur le tableau en cliquant sur </>.
• Collection : s'utilise lorsque la clé spécifiée renvoie un tableau d'objets. Il est possible de mapper directement au champ de valeur une collection d'une action précédente en tant que clé de collection ou d'ajouter séparément des paires clé/valeur dans la clé de collection.
Pour définir le type de données sur Collection, cliquez sur
![](../../../../ThingWorx/images/SettingsIcon_2.png)
, puis sélectionnez Collection dans la liste. Vous pouvez appliquer des fonctions sur la collection en cliquant sur </>.
• Objet : s'utilise lorsque la clé spécifiée renvoie un objet. Il est possible de mapper directement au champ de valeur un objet d'une action précédente en tant que clé d'objet ou d'ajouter séparément des paires clé/valeur dans la clé d'objet.
Pour définir le type de données sur Objet, cliquez sur
![](../../../../ThingWorx/images/SettingsIcon_2.png)
, puis sélectionnez Objet dans la liste. Vous devez commencer par spécifier le nom de l'objet, puis cliquer sur le lien "+" situé en regard du champ Clé pour ajouter des paires clé/valeur. Vous pouvez ensuite sélectionner n'importe quel type de données pour chacune des propriétés.
Le lien de la console (</>) qui vous permet d'appliquer des fonctions est présent à la fois en regard du champ "Nom de l'objet" et en regard de chaque champ "Nom de propriété" de cet objet.
• Chaîne : s'utilise lorsque la clé spécifiée renvoie une valeur de chaîne. Par défaut, toutes les paires clé/valeur sont de type de données Chaîne. Vous pouvez appliquer des fonctions sur la chaîne en cliquant sur </>.
Utilisation des fonctions intégrées du mappeur
Le mappeur vous permet d'appliquer diverses fonctions à la sortie d'actions précédentes. L'action met à votre disposition un certain nombre de fonctions intégrées (issues de la bibliothèque "lodash"). Vous pouvez également créer vos propres fonctions personnalisées.
• Fonctions pour tableaux :
• Fonctions pour objets
• Fonctions pour chaînes
• Fonctions pour les nombres
• Fonctions pour les collections
Exemple : Utilisation des fonctions intégrées du mappeur
Vous souhaitez récupérer dans un même tableau les valeurs uniques présentes dans plusieurs tableaux. Pour ce faire, commencez par utiliser l'action Opérations sur tableaux pour concaténer vos tableaux (contenant quelques valeurs communes). Utilisez ensuite la sortie dans le mappeur et exécutez la fonction _.uniq pour écarter les valeurs en double.
1. Ajoutez les actions Opérations sur tableaux, Mappeur et Envoyer e-mail au canevas, puis connectez-les comme suit :
2. Configurez l'action Opérations sur tableaux comme suit :
◦ Sélectionner opération sur tableau : sélectionnez Concaténer dans la liste.
◦ Tableau source 1 : spécifiez le premier tableau à concaténer.
◦ Tableau source 2 : spécifiez le deuxième tableau à concaténer.
Cliquez sur Ajouter pour ajouter d'autres tableaux.
Les entrées "R2-D2" et "Han" apparaissent volontairement dans les deux tableaux. Cela crée un tableau contenant des valeurs en double. Cliquez sur Terminé. Vous revenez alors au canevas.
3. Configurez l'action Mappeur comme suit :
◦ Key1 : spécifiez le nom de la clé.
◦ Cliquez sur
![](../../../../ThingWorx/images/SettingsIcon_2.png)
pour sélectionner le type de données Tableau, puis sur
![](../../../../ThingWorx/images/ConsoleIcon.jpg)
pour ajouter une fonction.
◦ Cliquez sur
![](../../../../ThingWorx/images/ExpandCollapse.PNG)
, puis sur
![](../../../../ThingWorx/images/WCMapicon.png)
pour ajouter la sortie de l'action Opérations sur tableaux en tant qu'entrée dans la fenêtre de console.
◦ Cliquez sur Fonctions, puis sélectionnez la fonction _.uniq pour supprimer les valeurs en double du tableau.
◦ Cliquez sur ENREGISTRER. L'onglet Custom Function est ajouté en tant qu'entrée du champ Valeur.
4. Configurez l'action Envoyer e-mail comme suit :
◦ A : spécifiez l'adresse e-mail du destinataire.
◦ Objet : spécifiez l'objet de l'e-mail.
◦ Type de corps : sélectionnez le type de corps (Texte) de l'e-mail.
◦ Corps : ajoutez en entrée la sortie de l'action Mappeur donnée à droite de la fenêtre de configuration.
5. Cliquez sur Terminé, puis Exécuter le processus. Les valeurs uniques présentes dans plusieurs tableaux sont ainsi récupérées dans un même tableau, puis envoyées au destinataire spécifié.
Ajout de fonctions personnalisées dans Mappeur
L'action Mappeur vous permet également d'écrire des fonctions personnalisées pour effectuer des opérations sur des valeurs d'entrée données. Consultez l'exemple ci-après afin de comprendre la fonction personnalisée :
Exemple
Suite de l'exemple précédent. Supposons que vous souhaitez appliquer une fonction personnalisée sur la sortie de la fonction _.uniq implémentée précédemment.
1. Effectuez les modifications suivantes dans le code existant, comme illustré dans la figure ci-dessous :
2. Une fois la fonction personnalisée ajoutée dans la console, cliquez sur ENREGISTRER, puis Exécutez le processus.
| Vous pouvez également écrire des fonctions personnalisées qui peuvent être uniquement implémentées sur les entrées spécifiées. |
Schéma de sortie
Le schéma de sortie renvoyé par l'action Mappeur dépend des paires clé/valeur spécifiées. Un exemple de schéma de sortie est illustré ci-dessous :