データ インポートの実行
データ インポートは、Microsoft Dataverse サーバー上で直接実行されます。 データ インポートを実行するには、次の内容を実行する非同期ジョブが、次の順序でバックグラウンド実行されるように設定します。
- インポート ファイルに含まれているソース データを解析します。
- データ マップを使用して、解析されたデータを変換します。
- 変換されたデータを Dataverse にアップロードします。
適切なアクセス許可を持つすべての Dataverse ユーザーが、データ インポートを実行できます。
ソース データを解析する
ソース データの解析時には、特定のインポート (データ インポート) に関連付けられたすべてのインポート ファイルが解析されます。
解析されたデータは、インポート ファイルごとに作成される解析テーブルに一時的に格納されます。 解析テーブルの名前は、ImportFile.ParsedTableName
列に格納されます。 ソース ファイルの列見出しは、ImportFile.HeaderRow
列で指定されます。 ソース ファイルに列見出しを含んだ先頭行が存在しなかった場合、この列により、システムによって生成された既定の列見出しが指定されます。
解析されたデータを解析テーブルに保存するには、ParseImport
メッセージを使用します。 解析テーブルからデータを取得するには、GetDistinctValuesImportFile
メッセージおよび RetrieveParsedDataImportFile
メッセージを使用します。
次の表は、インポート ファイルを解析し、解析されたデータを解析テーブルから取得するために使用できるメッセージの一覧です。
Message SDK クラス Web API アクションまたは関数 |
説明設定 |
---|---|
ParseImportRequest ParseImportRequest Class ParseImport Action |
指定されたインポート (データ インポート) に関連付けられたすべてのインポート ファイルを解析する非同期ジョブを送信します。 要求の ImportId プロパティの関連付けられたインポート (データ インポート) の ID を渡します。 バックグラウンドで実行され、データの解析を行う非同期ジョブの ID が、応答の AsyncOperationId プロパティに返されます。 |
GetDistinctValuesImportFile GetDistinctValuesImportFileRequest Class GetDistinctValuesImportFile Function |
リスト値を収めたソース ファイルにある列の個別の値を返します。 要求の ImportFileId プロパティの関連付けられたインポート ファイル の ID を渡します。 個別の値が、応答の Values プロパティに、文字列の配列で返されます。 このメッセージは、ParseImport メッセージを使用して解析テーブルを作成した後でのみ使用します。 重要: ImportRecordsImport メッセージを使用した後は、このメッセージを使用しないでください。 ImportRecordsImport メッセージで送信されたインポート ジョブの実行の完了後は、解析テーブルにアクセスできません。 |
RetrieveParsedDataImportFile RetrieveParsedDataImportFileRequest Class RetrieveParsedDataImportFile Function |
解析テーブルからデータを取得します。 要求の ImportFileId プロパティの関連付けられたインポート ファイル の ID を渡します。 解析されたデータが、応答の Values プロパティに、2 次元配列の文字列で返されます。 データは、ソース ファイルと同じ列順で返されます。 このメッセージは、ParseImport メッセージを使用して解析テーブルを作成した後でのみ使用します。 重要: ImportRecordsImport メッセージを使用した後は、このメッセージを使用しないでください。 ImportRecordsImport メッセージで送信されたインポート ジョブの実行の完了後は、解析テーブルにアクセスできません。 |
解析されたデータを変換する
データの変換は、特定のインポート (データ インポート) に関連付けられている使用可能なすべてのデータ マッピングおよび変換を、解析されたデータに適用して行われます。
TransformImportRequest Class または TransformImport Action で TransformImport
メッセージを使用し、解析されたデータを変換するために非同期ジョブを送信します。 要求の Import.ImportId
列の関連付けられたインポート (データ インポート) の一意の識別子を渡します。 バックグラウンドで実行され、変換を行う非同期ジョブの一意の識別子が、メッセージ応答の AsyncOperationId
プロパティに返されます。
変換されたデータを対象サーバーへアップロードする
変換が正常に完了したら、Dataverse サーバーにデータをアップロードすることができます。
ImportRecordsImportRequest Class または ImportRecordsImport Action で ImportRecordsImport
メッセージを使用し、変換したデータを Dataverse にアップロードするために非同期ジョブを送信します。 関連付けられたインポート (データ インポート) の一意の識別子は、要求の ImportId
パラメータで指定する必要があります。 バックグラウンドで実行され、Dataverse にデータをアップロードする非同期ジョブの一意の識別子が、応答の AsyncOperationId
プロパティに返されます。 指定されたインポート (データ インポート) に関連付けられているすべてのインポート ファイルがインポートされます。
各インポート ジョブには、作成するレコードの ImportSequenceNumber
列に格納される一意のシーケンス番号があります。 Organization.CurrentImportSequenceNumber
列には、システムで最後に実行されたインポート ジョブの一意のシーケンス番号が含まれています。 これらの一意のシーケンス番号を使用して、インポート ジョブに属するレコードを追跡できます。
エラー ログ
レコードのインポート エラーは、データの解析、変換、アップロード中などに発生します。 エラーの理由や、インポートに失敗したレコードに関するその他の詳細情報は、インポート ログ (ImportLog) テーブルに取り込まれます。
インポートに失敗したレコード数を確認するには、レコードの ImportFile.FailureCount
列を取得します。 インポート時に部分的なエラーが発生したレコード数を確認するには、ImportData.HasError
列を取得します。 HasError
列が true
の場合、部分的なエラーが発生しています。false
の場合は、レコードのインポートが正常に行われています。
監査データをインポートする
Dataverse のテーブルには、レコードが作成された日時と最後に変更された日時、および作成者と変更者の追跡に使用される既定の列が 4 つあります。
createdon
列は、レコードが作成された日時を指定します。 createdon
列にデータをインポートするには、このデータを含むソース列を overriddencreatedon
列にマップします。 インポートの際、レコードの createdon
列は、overriddencreatedon
列にマップされた値で更新され、overriddencreatedon
列は、データがインポートされた日時に設定されます。 overriddencreatedon
列にマップされているソース値がない場合、createdon
列はデータがインポートされた日時に設定され、overriddencreatedon
列には値が設定されません。
注意
インポート中に createdon
列の値を上書きするには、prvOverrideCreatedOnCreatedBy
権限が必要です。 この権限名は、インポート中に createdby
列も上書きできることを意味します。 ただし、この機能は現在はサポートされていません。
modifiedon
列、createdby
列、modifiedby
列にデータをインポートすることはできません。 データを作成したユーザー、およびデータが変更された日時に関するデータを格納する必要がある場合は、Dataverse にユーザー定義列を作成して、ソース列を新しいユーザー定義列にマップします。
関連項目
データのインポート
ソース ファイルのインポートを準備する
インポート用データ マップの作成
インポート用の変換マッピングの追加
データ インポートの構成
データ インポート テーブル
サンプル: データ マップのエクスポートおよびインポート
サンプル: 複雑なデータ マップを使用してデータをインポートする
ブログの投稿: 添付をプログラムでインポートする方法
注意
ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)
この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。