Application de l’identification et rapprochement de CI aux jeux d’importation

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 3 minutes de lecture
  • Vous pouvez appliquer des processus d’identification et de rapprochement CMDB lorsque des ensembles de données à importer sont utilisés pour importer des CI dans la CMDB. L’identification des CI peut empêcher les CI en double dans la CMDB, ce que les ensembles d’importation pourraient entraîner autrement.

    Le remplissage de tables CMDB à l’aide de jeux d’importation peut résulter par inadvertance en la duplication de CI lorsque plusieurs enregistrements importés sont identiques à un CI existant. Pour réduire cette duplication, vous pouvez appliquer des processus Identification et réconciliation CMDB aux jeux d’importation lors de l’importation de nouveaux enregistrements dans les tables CMDB.

    Script de carte de transformation

    Dans le script de carte de transformation onBefore d’un jeu d’importation, ajoutez un appel à l’API CMDBTransformUtil , similaire à l’exemple de code suivant :
    (function runTransformScript(source, map, log, target) {
    // Call CMDB API to do Identification and Reconciliation of current row
    var cmdbUtil = new CMDBTransformUtil();
    cmdbUtil.identifyAndReconcile(source, map, log);
    ignore = true;
    
    if (cmdbUtil.hasError()) {
            var errorMessage = cmdbUtil.getError();
            log.error(errorMessage);
    } else {
            log.info('IE Output Payload: ' + cmdbUtil.getOutputPayload());
            log.info('Imported CI: ' + cmdbUtil.getOutputRecordSysId());
    }
    
    })(source, map, log, target);

    L’expression de code ignorer = vrai empêche les ensembles de données à importer de créer à nouveau le même enregistrement une fois qu’il a été traité par le moteur d’identification.

    Processus

    Le moteur d’identification procède à l’identification de chaque enregistrement source avant qu’il ne soit inséré dans la CMDB. Le moteur d’identification détermine si l’enregistrement est un doublon d’un CI existant, puis :
    • S’il n’y a pas de doublon : insère l’enregistrement dans la table cible.
    • Si doublon : met à jour le CI existant dans la CMDB avec les données de l’enregistrement source.

    L’API CMDBTransformUtil pré-traite les données sources, puis transmet les valeurs d’entrée au moteur d’identification, le jeu d’importation étant la source de données par défaut. L’API CMDBTransformUtil prend en charge un champ cible qui est un champ de référence de la même manière que les ensembles de données à importer. L’API CMDBTransformUtil prend également en charge un script source, évaluant les scripts sources pour déterminer la valeur cible qui est ensuite transmise au moteur d’identification. Pour plus d’informations, reportez-vous à la rubrique Création d’une carte de champs.

    Spécifier plusieurs tables cibles pour un jeu d’importation

    Vous pouvez configurer chaque enregistrement d’un jeu d’importation avec sa propre table cible. Ensuite, au lieu d’insérer tous les enregistrements transformés dans une table cible unique, les enregistrements sont insérés dans les différentes tables cibles qui sont spécifiées par enregistrement. Par exemple, vous devrez peut-être insérer des enregistrements du jeu d’importation dans la classe Computer et d’autres enregistrements dans la classe Server.

    Lors de l’importation de données à l’aide de jeux d’importation, intégrez les étapes suivantes :
    • Dans le fichier source de données, ajoutez une colonne de table cible. Utilisez une chaîne telle que « MyTable » pour étiqueter l’en-tête de colonne. Dans chaque ligne d’enregistrement, entrez la table cible de l’enregistrement, sous la forme d’un nom de classe CMDB valide tel que « cmdb_ci_computer ».
    • Après avoir mappé automatiquement les champs correspondants sur le formulaire Carte de transformation de table, ajoutez une carte de champ pour la colonne de table cible ajoutée afin d’établir une relation entre les classes et les tables cibles dans la CMDB.
      1. Dans la liste connexe Carte de champ du formulaire Carte de transformation de table, cliquez sur Nouveau.
      2. Définissez Champ source sur l’en-tête de la colonne de la table cible que vous avez ajoutée dans le fichier de source de données, telle que MaTable.
      3. Définissez le champ cible sur Classe.
      4. Cliquez sur Envoyer.

    Lorsque vous configurez un jeu d’importation avec plusieurs tables cibles comme décrit dans les étapes ci-dessus, la table cible spécifiée dans le formulaire Carte de transformation de table n’est pas utilisée.

    Restrictions

    Les restrictions suivantes s’appliquent :
    • Un jeu d’importation doit être associé à une seule carte de transformation. Lors de l’ajout d’un appel à l’API CMDBTransformUtil, assurez-vous qu’il existe toujours une seule carte de transformation pour le jeu d’importation.
    • L’API CMDBTransformUtil ne vérifie pas si les champs obligatoires ont des valeurs lorsqu’ils sont utilisés avec des ensembles de données à importer. Quel que soit le mode enforce mandatory fields de définition dans la carte de transformation, l’importation de données échoue si un champ obligatoire ne contient pas de valeur.
    • L’identification et rapprochement des CI ne peut pas être appliqué aux ensembles d’importation pour les CI dépendants (CI avec des règles d’identification dépendantes).