Application de l’identification et rapprochement de CI aux jeux d’importation
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
(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
- 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.
- 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.
- Dans la liste connexe Carte de champ du formulaire Carte de transformation de table, cliquez sur Nouveau.
- 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.
- Définissez le champ cible sur Classe.
- 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
- 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).