Appliquer l'identification et la réconciliation des CI aux Import Sets
Vous pouvez appliquer des processus d’identification et de réconciliation CMDB lorsque des jeux d’importation sont utilisés pour importer des CI dans la CMDB. L’identification des CI peut empêcher la création de CI en double dans la CMDB, ce qui pourrait autrement être dû aux ensembles d’importation.
Le remplissage des tables CMDB à l’aide de jeux d’importation peut entraîner par inadvertance des CI en double lorsque plusieurs enregistrements importés sont identiques à un CI existant. Pour minimiser cette duplication, vous pouvez appliquer des processus Identification et réconciliation CMDB à des ensembles d’importation lors de l’importation de nouveaux enregistrements dans des 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 d’importation de créer à nouveau le même enregistrement après son traitement par le moteur d’identification.
Processus
- S’il n’y a pas de doublon : insère l’enregistrement dans la table cible.
- S’il est en double : met à jour le CI existant dans la CMDB avec des données provenant 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 d’importation. 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 spécifiées par enregistrement. Par exemple, vous devrez peut-être insérer certains enregistrements du jeu d’importation dans la classe Computer et d’autres enregistrements dans la classe Server.
- Dans le fichier de 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, saisissez la table cible pour l’enregistrement, sous forme de 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 champs 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 table cible que vous avez ajoutée dans le fichier de source de données, par exemple 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’une seule carte de transformation existe toujours 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 jeux d’importation. Quelle que soit la méthode enforce mandatory fields définie dans la carte de transformation, l’importation de données échoue si un champ obligatoire ne contient pas de valeur.
- L’identification et la réconciliation des CI ne peuvent pas être appliquées aux ensembles d’importation pour les CI dépendants (CI avec des règles d’identification dépendantes).