CI 識別および調整のインポートセットへの適用
CMDB 識別および調整プロセスは、インポートセットを使用して CI を CMDB にインポートするときに適用できます。CI の識別では、インポートセットによって生じる可能性がある CMDB 内の重複 CI を防ぐことができます。
インポートセットを使用して CMDB テーブルを追加すると、インポートされた複数のレコードが既存の CI と同一であるときに不注意で重複 CI が生じることがあります。この重複を最小限に抑えるため、CMDB テーブルに新しいレコードをインポートするときに、インポートセットに CMDB 識別および調整プロセスを適用することができます。
変換マップ スクリプト
(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);ignore = true コードフレーズは、Import Sets が識別エンジンによって処理されたレコードと同じレコードを再び作成することを防ぎます。
プロセス
- 重複しない場合:レコードをターゲット テーブルに挿入します。
- 重複している場合:ソース レコードのデータを使用して、CMDB 内の既存の CI を更新します。
CMDBTransformUtil API はソースデータを前処理した後、デフォルトでデータソースになるインポートセットと共に入力値を識別エンジンに渡します。CMDBTransformUtil API は、インポートセットがサポートするのと同じ方法で、参照フィールドであるターゲット フィールドをサポートします。また、CMDBTransformUtil API はソース スクリプトもサポートし、ソース スクリプトを評価して識別エンジンに渡されるターゲット値を決定します。詳細については、「フィールドマップの作成」を参照してください。
インポートセットへの複数のターゲットテーブルの指定
インポートセット内の各レコードを独自のターゲットテーブルで設定できます。次に、変換されたすべてのレコードを単一のターゲットテーブルに挿入するのではなく、レコードごとに指定された異なるターゲットテーブルにレコードを挿入します。たとえば、インポートセットの一部のレコードをコンピュータークラスに挿入し、その他のレコードをサーバークラスに挿入する必要がある場合に使用します。
- データソースファイルでターゲットテーブル列を追加します。列ヘッダーにラベルを付けるには「MyTable」などの文字列を使用します。各レコード行に、レコードのターゲットテーブルを「cmdb_ci_computer」などの有効な CMDB クラス名として入力します。
- [テーブル変換マップ] フォームで [一致フィールドの自動マップ] を実行した後、追加されたターゲットテーブル列のフィールドマップを追加して、クラスと CMDB のターゲットテーブルとの関係を確立します。
- [テーブル変換マップ] フォームの [フィールドマップ] 関連リストで [新規] をクリックします。
- [ソースフィールド] を、データソースファイルに追加したターゲットテーブル列のヘッダー (「MyTable」など) に設定します。
- [ターゲットフィールド] を [クラス] に設定します。
- [送信] をクリックします。
上記の手順で説明したように、インポートセットを複数のターゲットテーブルで設定すると、[テーブル変換マップ] フォームで指定された [ターゲットテーブル] は使用されません。
制限
- インポートセットは、単一の変換マップに関連付ける必要があります。CMDBTransformUtil API のコールを追加している間も、インポートセット用に 1 つの変換マップが存在することを確認してください。
- CMDBTransformUtil API は、Import Sets とともに使用されるときに必須フィールドに値があるかどうかをチェックしません。enforce mandatory fieldsが変換マップでどのように設定されているかにかかわらず、必須フィールドに値がないとデータのインポートは失敗します。
- 従属 CI (従属識別ルールを持つ CI) のインポートセットに CI 識別および調整を適用することはできません。