Données complexes

  • Rversion finale: Yokohama
  • Mis à jour 30 janv. 2025
  • 11 minutes de lecture
  • 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 leurs é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 Studio de workflow pour afficher et comprendre l’organisation des données structurées, ainsi que pour 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 à partir d’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 Studio de workflow interfaces.

    Tableau 1. Exemples d’utilisation de données complexes
    Studio de workflowinterface Exemple d’utilisation
    Entrées et sorties d’action Créez une action qui génère un objet à partir des données d’un enregistrement. Renseignez l’objet à l’aide des données d’enregistrement recherchées par l’action. ConsultezCréer une action personnalisée pour générer un objet à partir d’un enregistrement
    Variables d’entrée et de sortie de l’étape Script

    É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 en 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 du champ cible Analysez une charge utile XML en un objet de données complexe à l’aide de l’étape d’analyseur XML.
    Champ Corps du déclencheur REST API Analysez une demande REST API entrante dans un objet de données complexe et utilisez les valeurs dans un flux. Voir Déclencheur de l’API REST.

    Avantages

    Les données complexes offrent ces 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éer des structures de données arbitraires. Par exemple, créez une structure de données de problème qui combine des informations provenant d’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 la personne à 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 au statut ou au nombre de réaffectations à partir de l’objet d’historique.
    • Autorisez l’accès à la structure de 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 la 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 a son propre type de données et sa propre position unique dans la hiérarchie.

    Le volet Éditeur affiche la hiérarchie de la structure des données avec une indentation. Le niveau d’indentation identifie si un élément est un parent, un enfant ou un frère dans la hiérarchie. Les éléments parents ont des enfants en retrait en dessous, et les frères ont le même niveau d’indentation.
    Remarque :
    L’interface Studio de workflow vous permet de créer des hiérarchies avec un nombre illimité de niveaux enfants, mais vous devrez peut-être faire défiler horizontalement pour les voir.

    Par exemple, cette structure de données se compose d’un élément parent Employé avec quatre éléments enfants pour le numéro d’ID, le nom, la date de début et l’e-mail du contact. L’élément E-mail de contact est également un élément parent avec un enfant.

    Figure 1. Exemples d’entrées pour un objet Employé
    Exemples d’entrées pour un objet Employee. L’objet Employé est l’élément parent. Il existe des entrées enfants pour le numéro d’ID, le nom, la date de début et l’e-mail du contact.

    Le panneau de données affiche la hiérarchie de la structure des données sous la forme d’une arborescence de pastilles de données réductibles et extensibles, comme pour les variables d’enregistrement. Les éléments parents possèdent une icône de flèche qui permet de réduire ou d’étendre la hiérarchie.

    Par exemple, voici la structure des données Employé vue à partir du panneau de données.

    Figure 2. Exemple de pastille de données pour un objet Employee
    Exemple de pastille de données pour l’objet Employé. L’objet Employé est l’élément parent. Il existe des entrées enfants pour le numéro d’ID, le nom, la date de début et l’e-mail du contact.

    Vous pouvez utiliser le panneau de données ou le sélecteur de données pour sélectionner des valeurs spécifiques dans une structure de données. Les structures de données sont similaires à des pastilles de données pour les enregistrements en ce sens que vous pouvez remonter pas à pas ou accéder à des éléments spécifiques dans la structure. Lorsque vous sélectionnez un élément de données, Studio de workflow le chemin d’accès à celui-ci s’affiche sous forme de pastille de données, comme toute autre sélection d’éléments 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 en l’une de ces notations de chemin.

    Types de données complexes

    Vous créez des structures de données à l’aide d’une ou plusieurs variables Array ou Object . Seuls ces types de données de variables prennent en charge les variables enfants.

    Une variable Tableau contient des valeurs pour un type d’élément. La variable parent est toujours d’un 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.

    Tableau 2. Exemple de structure de données pour le tableau E-mail de contact
    É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 une disposition quelconques de variables enfants qui ont chacune leur propre type de données et leurs propres valeurs. L’imbrication de variables d’objet vous permet de créer des structures de données complexes similaires à un schéma de table où une table contient 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.

    Tableau 3. Exemple de structure de données pour l’objet Employé
    É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 de variables peuvent être parents.

    Tableau 4. Types de données parents
    Type de données Description
    Tableau.Tableau Un conteneur pour les tableaux. Ajoute un élément enfant en lecture seule de type Tableau.
    Tableau.Vrai/Faux Un conteneur pour les valeurs vrai/faux. 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.
    Array.Integer 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 Un 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 .
    Les variables Tableau et Objet ne prennent en charge que ces types de données enfants.
    • Tableau
    • Vrai/Faux
    • Choix
    • Date/Heure
    • Entier
    • Objet
    • Chaîne
    Remarque :
    Les types de données dans les variables array et object ne sont pas des éléments Glide. Il peut n’y avoir pas de compatibilité complète entre ces éléments et les types de Now Platform.

    Options avancées

    Les variables d’objet disposent d’options avancées pour enregistrer et charger des structures de données. Ces options vous permettent de réutiliser une structure de données définie à un endroit dans un autre. Pour plus de détails sur les options avancées, voir types de données de variables d’action.

    Modèles de structure de 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ée pour 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 celui-ci, ni les autres actions qui l’utilisent.

    Pastilles de données de tableau

    Les objets qui contiennent des données de tableau peuvent nécessiter un traitement pour chaque logique de flux. Par exemple, un objet utilisateur contenant un tableau d’adresses e-mail nécessiterait une boucle logique de flux For Each pour envoyer une notification à chaque adresse e-mail.

    Pastilles de données d’objet

    Vous pouvez concevoir des actions qui acceptent les 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 les adresses, 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.

    Figure 3. Exemple d’action qui accepte une pastille de données d’objet
    Exemple d’action dans un flux. Il y a des entrées pour Utilisateur, Prénom, Nom de famille, Adresses et Adresse 1.

    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, Studio de workflow 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 action envoie une notification à l’utilisateur spécifié dans l’objet.

    Figure 4. Exemple d’action configurée pour utiliser une pastille de données d’objet
    Exemple d’action dans un flux. Il y a des entrées pour Utilisateur, Prénom, Nom de famille, Adresses et Adresse 1. L’entrée Utilisateur contient la pastille de données [2->Objet utilisateur].

    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. Pour plus d’informations sur le scripting avec des données complexes, reportez-vous à la section Prise en charge des scripts pour les données complexes .

    Prise en charge des ensembles de mises à jour

    Les ensembles de mises à jour incluent les 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 ses données complexes associées.

    Directives générales

    Suivez ces instructions générales pour créer des structures de données réutilisables et faciles à maintenir.

    Minimiser le nombre de niveaux enfants dans la hiérarchie
    Plus une structure de données comporte 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 des 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 voir et les remplir.
    Créer un objet distinct pour chaque type de données d’enregistrement
    La plupart des Studio de workflow 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 garantit que vous savez 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 dans la table Incident et un élément de tableau de chaînes pour le champ Classe dans 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 contenant toutes les informations dont vous avez besoin. Vous pouvez ensuite utiliser l’objet pour formater ou analyser des données dans Studio de workflow.