インポートセットへの IRE の適用

  • リリースバージョン: Australia
  • 更新日 2026年03月12日
  • 所要時間:4分
  • インポートセットを使用して CI を CMDB にインポートする場合は、CMDB 識別および調整エンジン (IRE) プロセスを適用できます。CI の識別では、インポートセットによって生じる可能性がある CMDB 内の重複 CI を防ぐことができます。

    インポートセットを使用して CMDB テーブルを追加すると、インポートされた複数のレコードが既存の CI と同一であるときに不注意で重複 CI が生じることがあります。この重複を最小限に抑えるため、CMDB テーブルに新しいレコードをインポートするときに、インポートセットに CMDB 識別および調整プロセスを適用することができます。

    変換マップ スクリプト

    インポートセットの onBefore 変換マップスクリプトで、次のコードサンプルのように、CMDBTransformUtil API のコールを追加します。
    (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);

    ignore = true コードフレーズは、インポートセットが識別エンジンによって処理されたレコードと同じレコードを再び作成することを防ぎます。

    プロセス

    識別エンジンは、CMDB に挿入する前に各ソース レコードの識別を実行します。識別エンジンは、レコードが既存の CI の複製であるかどうかを判断し、
    • 重複しない場合:レコードをターゲット テーブルに挿入します。
    • 重複している場合:ソース レコードのデータを使用して、CMDB 内の既存の CI を更新します。

    CMDBTransformUtil API はソースデータを前処理した後、デフォルトでデータソースになるインポートセットと共に入力値を識別エンジンに渡します。CMDBTransformUtil API は、インポートセットがサポートするのと同じ方法で、参照フィールドであるターゲット フィールドをサポートします。また、CMDBTransformUtil API はソース スクリプトもサポートし、ソース スクリプトを評価して識別エンジンに渡されるターゲット値を決定します。詳細については、「フィールドマップの作成」を参照してください。

    インポートセットへの複数のターゲットテーブルの指定

    インポートセット内の各レコードを独自のターゲットテーブルで設定できます。次に、変換されたすべてのレコードを単一のターゲットテーブルに挿入するのではなく、レコードごとに指定された異なるターゲットテーブルにレコードを挿入します。たとえば、インポートセットの一部のレコードをコンピュータークラスに挿入し、その他のレコードをサーバークラスに挿入する必要がある場合に使用します。

    インポートセットを使用してデータをインポートする場合は、次の手順を組み込みます。
    • データソースファイルでターゲットテーブル列を追加します。列ヘッダーにラベルを付けるには「MyTable」などの文字列を使用します。各レコード行に、レコードのターゲットテーブルを「cmdb_ci_computer」などの有効な CMDB クラス名として入力します。
    • [テーブル変換マップ] フォームで [一致フィールドの自動マップ] を実行した後、追加されたターゲットテーブル列のフィールドマップを追加して、クラスと CMDB のターゲットテーブルとの関係を確立します。
      1. [テーブル変換マップ] フォームの [フィールドマップ] 関連リストで [新規] をクリックします。
      2. [ソースフィールド] を、データソースファイルに追加したターゲットテーブル列のヘッダー (「MyTable」など) に設定します。
      3. [ターゲットフィールド][クラス] に設定します。
      4. [送信] をクリックします。

    上記の手順で説明したように、インポートセットを複数のターゲットテーブルで設定すると、[テーブル変換マップ] フォームで指定された [ターゲットテーブル] は使用されません。

    制限

    次の制限が適用されます。
    • インポートセットは、単一の変換マップに関連付ける必要があります。CMDBTransformUtil API のコールを追加している間も、インポートセット用に 1 つの変換マップが存在することを確認してください。
    • CMDBTransformUtil API は、インポートセットとともに使用されるときに必須フィールドに値があるかどうかをチェックしません。enforce mandatory fieldsが変換マップでどのように設定されているかにかかわらず、必須フィールドに値がないとデータのインポートは失敗します。
    • 従属 CI (従属識別ルールを持つ CI) のインポートセットに CI 識別および調整を適用することはできません。