Application d’IRE aux ensembles de données à importer
Vous pouvez appliquer les processus IRE (Identification and Reconciliation Engine) de la 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 la duplication des CI dans la CMDB, ce que les ensembles de données à importer pourraient autrement provoquer.
Le remplissage des tables CMDB à l’aide de jeux d’importation peut entraîner par inadvertance la duplication de CI lorsque plusieurs enregistrements importés sont identiques à un CI existant. Pour réduire ces doublons, vous pouvez appliquer les processus d’identification et de rapprochement CMDB aux ensembles de données à importer 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.setDataSource('ImportSet');
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);La phrase de code ignorer = vrai empêche les ensembles de données à importer de créer à nouveau le même enregistrement après son traitement par le moteur d’identification.
Processus
- S’il n’est pas dupliqué : insère l’enregistrement dans la table cible.
- En cas de 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 le prennent en charge. L’API CMDBTransformUtil prend également en charge un script source, en évaluant les scripts sources pour déterminer la valeur cible, qui est ensuite transmise au moteur d’identification. Pour plus d’informations, consultez 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 seule table cible, 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 (Ordinateur) et d’autres enregistrements dans la classe Server (Serveur).
- 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, saisissez 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 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 le champ Source sur l’en-tête de la colonne de la table cible que vous avez ajoutée dans le fichier source de données, telle que MyTable.
- 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 sur 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. Quelle que soit la méthode enforce mandatory fields définie dans la carte de transformation, l’importation des données échoue si un champ obligatoire n’a pas de valeur.
- L’identification et le rapprochement des CI ne peuvent pas être appliqués aux ensembles de données à importer pour les CI dépendants (CI avec des règles d’identification dépendantes).