Données complexes
Utilisez une interface graphique pour travailler avec des collections de données structurées complexes. Aidez les utilisateurs de conception à comprendre l’organisation des données structurées, et ajoutez, supprimez ou configurez ses éléments individuels.
Les données complexes vous permettent d’encoder et de stocker des données structurées dans un format lisible par machine tel que JavaScript Object Notation (JSON) ou eXtensible Markup Language (XML). Vous pouvez utiliser l’interface Concepteur de flux pour afficher et comprendre l’organisation des données structurées, ainsi que créer des structures de données. Par exemple, vous pouvez créer une structure de données de contact composée d’informations que vous recherchez dans un enregistrement utilisateur, telles que le prénom, le nom et l’adresse e-mail.
Vous pouvez créer des données complexes à partir de ces Concepteur de flux interfaces.
| Concepteur de fluxinterface | Exemple d’utilisation |
|---|---|
| Entrées et sorties d’action | Créez une action qui génère un objet à partir de données d’enregistrement. Renseignez l’objet à l’aide des données d’enregistrement que l’action recherche. ConsultezCréer une action personnalisée pour générer un objet à partir d’un enregistrement |
| Étape Script Variables d’entrée et de sortie | Écrivez un script pour créer un tableau d’objets à partir d’une liste d’enregistrements. Voir Créer une action personnalisée pour générer un tableau d’objets à partir d’une liste d’enregistrements. Écrivez un script pour analyser un document JSON dans une sortie de type Objet. |
| Entrées et sorties de flux secondaire | Créez un flux secondaire qui accepte un objet comme entrée et l’utilise pour appeler un service externe. |
| Étape de l’analyseur XML Configurations des champs cibles | Analysez une charge utile XML dans un objet de données complexe à l’aide de l’étape de l’analyseur XML. |
| Champ Corps du déclencheur de l’API REST | Analysez une demande REST API entrante dans un objet de données complexe et utilisez les valeurs dans un flux. Reportez-vous à la section Déclencheur de l’API REST. |
Avantages
- Analysez et formatez les données sans avoir à écrire de code. Par exemple, créez des variables de données pour analyser un message de réponse ou formater un message de demande.
- Créez des structures de données arbitraires. Par exemple, créez une structure de données de problème qui combine les informations des enregistrements d’interaction et d’incident existants, ou créez une structure de données pour prendre en charge une intégration personnalisée.
- Affichez l’organisation des structures de données. Par exemple, une structure de données de problème peut se composer d’un objet utilisateur pour décrire les personnes à contacter au sujet du problème et d’un objet d’historique pour décrire le travail effectué pour le résoudre. Vous pouvez configurer une action de notification avec le chemin d’accès à l’adresse e-mail répertoriée dans l’objet utilisateur, et appeler un flux secondaire d’escalade de problème avec le chemin d’accès à l’état ou réaffecter le nombre à partir de l’objet d’historique.
- Autorisez l’accès à la structure des données à partir des appels d’API. Par exemple, appelez une action ou un flux secondaire à partir d’un script et utilisez la structure de données prédéfinie comme valeurs d’entrée.
- Enregistrez et réutilisez les structures de données en tant que modèles. Par exemple, enregistrez l’objet utilisateur en tant que structure de données de modèle pour le réutiliser dans d’autres actions et flux.
Structure des données
Une structure de données est un ensemble d’éléments de données connexes organisés selon une hiérarchie. Chaque élément d’une structure de données possède son propre type de données et sa propre position unique dans la hiérarchie.
Par exemple, cette structure de données se compose d’un élément parent Employé avec quatre éléments enfants (numéro d’ID), nom, date de début et e-mail de contact. L’élément E-mail de contact est également un élément parent avec un enfant.
Le panneau de données affiche la hiérarchie de la structure des données sous la forme d’une arborescence de pilules de données réductibles et extensibles, comme c’est le cas pour les variables d’enregistrement. Les éléments parents ont une icône en forme de flèche pour réduire ou développer la hiérarchie.
Par exemple, voici la structure des données de l’employé telle qu’elle apparaît dans le panneau de données.
Vous pouvez utiliser le panneau de données ou le sélecteur de données pour sélectionner des valeurs spécifiques à partir d’une structure de données. Les structures de données sont similaires aux pastilles de données pour les enregistrements, car vous pouvez remonter pas à pas ou accéder à des éléments spécifiques de la structure. Lorsque vous sélectionnez un élément de données, affiche le chemin d’accès vers celui-ci sous forme de pastille de données, Concepteur de flux comme n’importe quelle autre sélection d’élément de données. Par exemple, si vous sélectionnez l’élément de données Date de début, le chemin d’accès est [Entrée->Employé->Date de début].
Vous pouvez utiliser un chemin de données d’élément de la même manière qu’un XPath ou un JPath. Parfois, vous pouvez même convertir le chemin d’accès de la pastille de données dans l’une de ces notations de chemin.
Types de données complexes
Vous construisez des structures de données à l’aide d’une ou de plusieurs variables de type Tableau ou Objet . Seuls ces types de variables prennent en charge les variables enfants.
Une variable Tableau contient des valeurs pour un type d’élément. La variable parente est toujours de type de données Tableau, et il n’y a toujours qu’une seule variable enfant, qui est une instance du type de données pris en charge par le tableau. Créez des variables de tableau lorsqu’une entrée ou une sortie accepte plusieurs valeurs du même type de données.
Par exemple, vous pouvez créer un tableau E-mail de contact pour répertorier toutes les adresses e-mail associées à une personne donnée.
| Étiquette de composant | Type de données | Données témoins |
|---|---|---|
| E-mail du contact | Array.String | beth.anglin@example.com et beth@anglin.com |
| Contact Email_child0 | Chaîne |
Une variable Objet contient un nombre et un arrangement de variables enfants qui ont chacune leur propre type de données et leurs propres valeurs. L’imbrication des variables d’objet vous permet de créer des structures de données complexes similaires à un schéma de table dans lequel une table possède des enregistrements connexes dans une autre table. Créez des variables d’objet lorsqu’une entrée ou une sortie accepte une ou plusieurs propriétés associées.
Par exemple, vous pouvez créer un objet Employé pour définir des informations sur les personnes qui travaillent dans une entreprise.
| Étiquette de composant | Type de données | Données témoins |
|---|---|---|
| Employé | Objet | |
| Numéro d'identification | Entier | 20190304000101 |
| Nom | Chaîne | Beth Anglin |
| Date de démarrage | Date/Heure | 4 mars 2019 |
| E-mail du contact | Array.String | beth.anglin@example.com et beth@anglin.com |
Seuls ces types de données variables peuvent être parents.
| Type de données | Description |
|---|---|
| Tableau.Tableau | Conteneur pour les tableaux. Ajoute un élément enfant en lecture seule de type tableau. |
| Tableau.Vrai/faux | Un conteneur pour les valeurs vraies/fausses. Ajoute un élément enfant en lecture seule de type Vrai/Faux. |
| Tableau.Choix | Un conteneur pour les valeurs de choix. Ajoute un élément enfant en lecture seule de type Choix. |
| Tableau.Date/Heure | Un conteneur pour les valeurs de date/heure. Ajoute un élément enfant en lecture seule de type date/heure. |
| Tableau.Entier | Un conteneur pour les valeurs entières. Ajoute un élément enfant en lecture seule de type Entier. |
| Array.Object | Un conteneur pour les objets. Ajoute un élément enfant en lecture seule de type Objet, qui affiche l’option Ajouter un élément enfant . |
| Array.String | Conteneur pour les valeurs de chaîne. Ajoute un élément enfant en lecture seule de type Chaîne. |
| Objet | Un conteneur pour d’autres éléments de données. Affiche l’option Ajouter un élément enfant . |
- Tableau
- Vrai/Faux
- Choix
- Date/Heure
- Entier
- Objet
- Chaîne
Options avancées
Les variables d’objet disposent d’options avancées pour enregistrer et charger les structures de données. Ces options vous permettent de réutiliser une structure de données définie à un emplacement dans un autre. Pour plus d’informations sur les options avancées, consultez Types de données de variables d’action.
Modèles de structure des données
Les modèles de structure de données vous permettent de réutiliser les variables d’objet dans plusieurs actions ou flux secondaires. Par exemple, vous pouvez créer une structure de données pour analyser une réponse, puis réutiliser ultérieurement cette même structure de données pour formater une demande. Un modèle stocke la liste des variables enfants et leur structure dans un objet. Chaque variable Objet dispose d’une option Avancé permettant de l’enregistrer en tant que modèle.
Lorsque vous appliquez un modèle, vous créez une copie de la structure d’origine. Les modifications que vous apportez après l’application d’un modèle n’affectent pas le modèle et n’affectent pas non plus les autres actions qui utilisent le modèle.
pastilles de données de tableau
Les objets qui contiennent des données de tableau peuvent nécessiter le traitement d’une logique de flux Pour chaque . Par exemple, un objet utilisateur qui contient un tableau d’adresses e-mail nécessiterait qu’une boucle logique de flux Pour chaque envoie une notification à chaque adresse e-mail.
Pastilles de données d’objet
Vous pouvez concevoir des actions qui acceptent des pastilles de données d’objet comme valeurs d’entrée. Par exemple, vous pouvez créer une action de notification qui accepte un objet utilisateur comme entrée. Si l’objet utilisateur se compose de valeurs pour le prénom, le nom et l’adresse, l’action de notification a accès à toutes ces valeurs. Pour configurer une entrée d’action avec une pastille de données d’objet, vous devez créer un objet plus tôt dans le flux.
Vous pouvez utiliser une pastille de données d’objet ou l’un de ses éléments enfants pour configurer une entrée. Lorsque vous configurez une valeur d’entrée avec une pastille de données d’objet, Concepteur de flux tous les éléments enfants de l’objet sont en lecture seule et l’action utilise les valeurs fournies par l’objet. Par exemple, vous pouvez créer un flux dans lequel une action génère un objet utilisateur et une autre envoie une notification à l’utilisateur spécifié dans l’objet.
Lorsque vous configurez les éléments enfants d’un objet, vous devez fournir manuellement des pastilles de données pour chaque élément enfant de l’objet. Par exemple, vous pouvez configurer manuellement l’objet utilisateur avec les valeurs d’enregistrement d’une action antérieure.
Prise en charge des scripts
Créer et référencer des données complexes à partir d’un script. Utilisez un script lorsque vos données sources proviennent d’un flux de données, d’une réponse d’étape REST ou d’une étape de recherche d’enregistrements. Consultez Prise en charge des scripts pour les données complexes pour en savoir plus sur le scripting avec des données complexes.
Prise en charge de l’ensemble de mises à jour
Les ensembles de mises à jour incluent des objets complexes dans le cadre du flux, du flux secondaire ou de l’action où ils sont définis. Tout changement apporté au flux, au flux secondaire ou à l’action parent capture automatiquement les données complexes associées.
Lignes directrices générales
Suivez ces instructions générales pour créer des structures de données réutilisables et maintenables.
- Réduire le nombre de niveaux enfants dans la hiérarchie
- Plus une structure de données a de niveaux enfants, plus il est difficile d’afficher et de sélectionner une variable de données dans la hiérarchie. Bien que vous puissiez créer des structures de données avec n’importe quel nombre de niveaux enfants, il devient difficile de naviguer et de comprendre les structures de données avec plus de sept niveaux enfants. Pour une expérience utilisateur optimale, évitez de créer des structures de données comportant tellement de niveaux enfants que vous devez les faire défiler horizontalement pour les afficher et les remplir.
- Créer un objet distinct pour chaque type de données d’enregistrement
- La plupart des Concepteur de flux données sont des données d’enregistrement, qu’elles proviennent d’une instance ou d’un système externe. Cette méthode de conception vous permet de savoir ce que contient l’objet et d’où proviennent les données.
- Recréer les structures de données d’enregistrement
- Lors de la création d’objets qui reçoivent ou transmettent des données d’enregistrement, examinez les entrées du dictionnaire de base de données de ces enregistrements et créez des structures de données d’objet correspondantes. Par exemple, supposons que vous souhaitiez qu’un objet contienne des données provenant des tables Incident et Élément de configuration. Vous pouvez créer un élément de chaîne pour le champ Brève description de la table Incident et un élément de tableau de chaînes pour le champ Classe de la table Élément de configuration.
- Créer des objets pour combiner différents types d’enregistrements
- Si vous avez besoin d’informations provenant de plusieurs types d’enregistrements, créez un objet qui contient toutes les informations dont vous avez besoin. Vous pouvez ensuite utiliser l’objet pour formater ou analyser des données au format Concepteur de flux.