Dataverse 向け Azure Synapse Link を使用した増分更新のクエリと分析

Microsoft Dataverse データ (Dynamics 365 アプリや財務と運用のデータを含む) は、トランザクションの作成、更新、削除によって継続的に変更されます。 増分更新オプションを使用すると、これらの変更を下流のシステムやデータベースに適用する増分データ パイプラインを構築できます。 Dataverse 向け Azure Synapse Link は、ユーザーが指定した時間間隔内のデータ変更を含むタイム スタンプ付きフォルダーの増分データをエクスポートします。

増分更新機能は、次のようないくつかのシナリオで活用できます:

  • 下流のデータストアまたはデータ ウェアハウスを更新します。 Power Apps および Dynamics 365 データからの変更を下流のデータストアに適用する必要がある場合があります。 差分更新は、(Azure Data Factory など) 大部分のデータ変換ツールの標準機能です。 ただし、差分更新機能を使用するには、ソース テーブルで変更されたレコードを識別する必要があります。 増分更新機能では、変更されたデータが一連のファイルとして提供されるため、テーブルのイメージの前と後のイメージを比較して変更を検出する必要はありません。

  • 大規模なデータセットの変更を分析する。 大規模なデータセットの変更を分析する必要がある場合は、増分更新機能によって、すべてのデータを格納する必要がないように、小さなバッチで連続したデータ ストリームが提供されます。 このオプションを使用すると、古くて停滞しているデータを削除して、データストレージコストを節約し、ユーザーが指定した期間に関連するデータの変更を追跡できます。

Dataverse 向け Azure Synapse Link には、Azure Data Lake (Gen 2) ストレージ のテーブルのレプリカをエクスポートして維持するオプションも用意されています。 テーブルのレプリカをエクスポートするだけでなく、増分データをエクスポートするように Azure Synapse Link を構成できます。 各構成 ("Synapse Link プロファイルと呼ばれます) は、テーブルまたは増分データをエクスポートできます。 複数のプロファイルを作成できますが、同じプロファイル内でテーブルと増分更新の両方を構成することはできません。

重要

データのコピーを使用してこの機能を有効にすると、初期タイムスタンプ付きフォルダーが作成されます。 以降のタイムスタンプ フォルダーとテーブル フォルダーは、ユーザー指定した時間間隔中にデータが更新された場合にのみ作成されます。

増分更新機能を使用して Synapse Link プロファイルを作成すると、その構成は Synapse Link プロファイル内で選択したすべてのテーブルに適用されます。

この機能はオプションでは有効化できません: Azure Synapse workspace に接続する。 Azure Synapse Analytics へのアクセスが必要なお客様は、次の手順に従ってリンクを設定してください: 自分の Azure Synapse Workspace を使用して、Dataverse 向け Azure Synapse Link を作成する

この機能は、Dynamics 365財務と運用アプリに搭載された データ レイクへのエクスポート内の変更のフィード 機能 に相当します。 フィードの変更 機能を使用しているお客様は、テーブル データをエクスポートしなくても、変更データを含む Synapse Link プロファイルを有効にすることができます。

前提条件

このガイドは、Azure Synapse Link を作成するための前提条件をすでに満たしていることを前提としています。 詳細: Azure Data Lake を使用して、Dataverse 向け Azure Synapse Link を作成する

  1. Power Apps に移動して環境を選択します。

  2. 左側のナビゲーション ウィンドウで、[ データのリンク] を選択し、[ その他のリンク] を選択します。 項目がサイド パネル ウィンドウに表示されない場合は、…さらに表示 を選択して、目的の項目を選択します。

  3. コマンド バーで 、[+ 新規] リンクを選択し、Azure Synapseを選択します。

  4. サブスクリプションリソース グループストレージ アカウントを選択します。 次へを選択します。

  5. Azure Synapse Workspace への接続 オプションを選択しないでください。 このオプションを選択すると、増分更新機能は無効になります。

  6. エクスポートするテーブルを追加します。 Dataverse 環境が財務と運用アプリにリンクされている場合、財務と運用アプリからテーブルを選択することもできます。

  7. 詳細 を選択します。

  8. 詳細な構成設定を表示する増分更新フォルダー構造を有効にするをオンにします。

  9. 増分更新をキャプチャする頻度の時間間隔 (分単位) を入力してから、保存を選択します。 

    テーブル設定の追加

最小の時間間隔は 5 分です。 つまり、増分更新フォルダは 5 分ごとに作成され、その間に発生した変更が含まれます。 この設定は、テーブルの管理からリンク作成後に構成することもできます。 最大の時間間隔は 1140 分 (または 24 時間) です。

セットアップの最初のページで、Azure Synapse ワークスペースに接続する がチェックされていないことを確認します。

タイム スタンプ フォルダの増分データは、カンマ区切り値のテキスト ファイル (CSV ファイル) として保存されます。 増分データに差分変換機能を使用したり、差分ファイルを Delta Parquet 形式で取得したりすることはできません。

Microsoft Azure Storage で増分フォルダーを表示する

増分データを含む Synapse Lin kプロファイルを作成すると、システムはすべてのテーブルの初期コピーを作成し、最初の増分更新フォルダに保存します。 最初のコピーが作成されると、システムは変更されたデータを含む後続の更新フォルダを作成します。 選択したテーブルのいずれにも変更がない場合、増分データ フォルダーは表示されません。

ストレージ アカウントの増分データ フォルダーを表示するには:

  1. 必要な Azure Synapse Link を選択してから、コマンド バーで Azure Data Lake に移動するを選択します。

  2. データ ストレージで、コンテナーを選択します。

  3. dataverse-environmentName-organizationUniqueName を選択します。 増分更新フォルダーは、UTC の作成タイムスタンプ ("yyyy-MM-dd'T'HH:mm:ss.SSSz") によって名前が付けられます。 タイムスタンプ付きフォルダー間の時間差は、詳細設定で指定した時間間隔であることに注意してください。

  4. 各タイムスタンプ付きフォルダー内には、各テーブルのフォルダーがあります。 選択したすべてのテーブルが時間間隔中に変更されたとは限らず、データが変更されたテーブルに対応するフォルダーのみが表示されます。

    Synapse Link によって作成された Azure Data Lake Storage に表示される増分フォルダー

再試行メカニズムの機能により、ユーザーが指定した時間間隔内に空のタイムスタンプ フォルダーがさらに作成される場合があります。

増分データを利用する

Azure Data Factory や Azure Synapse Analytics パイプラインなどのデータ統合ツールを使用して、増分データを Azure SQL Database またはデータ ウェアハウスにコピーできます。 この目的に使用できるサンプル データ パイプラインが用意されています。 詳細: Dataverse データを Azure SQL にコピーするを参照してださい。

変更フィード機能から移行する Dynamics 365 財務と運用アプリのお客様の場合は、GitHub で提供されているデータ統合サンプル ツール を使用して、変更フィード機能で使用される既存のデータ パイプラインを更新できます。

また、独自のデータパイプラインを構築して、増分データを使用することもできます。 ただし、独自のパイプラインを設計するときは、次のベスト プラクティスを考慮する必要があります。

  • 以前のタイムスタンプ付きフォルダのデータのみを消費する: こうすることで、現在のフォルダのデータを継続的に更新している可能性のある Synapse Link サービスとの読み取り/書き込みの競合を回避できます。 現在のフォルダーは、Changelog/changelog.info ファイルから見つけることができます。 このファイルは読み取り専用ファイルで、現在更新されているフォルダー名が 1 行含まれています。 システムが不安定になる可能性があるため、このファイルは更新しないでください。
  • タイムスタンプを含む各フォルダーの model.json ファイルを表示して、テーブル フォルダーに含まれるデータの列名などのメタデータを読み取ることができます。 タイムスタンプ付きフォルダ内にあるフォルダ内の各model.jsonファイルには、タイムスタンプ付きフォルダ内に含まれるテーブルだけでなく、すべてのテーブルのメタデータが含まれていることに注意してください。
  • Synapse.log ファイルなど、他のログ ファイルの使用は避けてください。 このファイルは内部目的で使用され、正確なデータを反映していない可能性があります。
  • 処理が完了したら、古い増分フォルダーを Azure Data Lake から削除することを検討してください。 現在、Synapse Link は、障害から回復するために、Azure ストレージ でこれらのファイルのリースを維持しています。 システムは、しばらくするとリースを解放する場合があります。 システム操作との競合を避けるために、24 時間以上経過した 増分フォルダーのみを削除する必要があります。
  • Changelog/changelog.info ファイルに含まれるフォルダーである "現在のフォルダー" を変更または削除しないでください。 このファイルを変更すると、データの処理は一時停止されます。

Synapse Link が作成した Azure Data Lake Storage の増分フォルダー

参照

Dataverse 用 Azure Synapse Link とは何ですか?