Azure Synapse Linkを使用して、Microsoft Dataverse データをAzure Synapse Analyticsに接続し、データを探索し、分析情報を得る時間を短縮できます。 この記事では、次のタスクを実行する方法を示します:
- Azure Synapse Link サービスを使用して、Dataverse データを Azure Synapse Analytics ワークスペースに接続します。
- Azure Synapse Linkに含まれる Dataverse テーブルを管理します。
- Azure Synapse Linkを監視します。
- Azure Synapse Linkのリンクを解除します。
- Azure Synapse Linkを再リンクします。
- Azure Synapse Analyticsでデータを表示します。
メモ
Azure Synapse Link for Microsoft Dataverse は、以前は Data Lake へのエクスポートと呼ばれています。 サービスの名前は 2021 年 5 月に変更され、引き続きAzure Data LakeおよびAzure Synapse Analyticsにデータをエクスポートします。
前提条件
- Dataverse: Dataverse システム管理者セキュリティ ロールを持っている必要があります。
- Azure Synapse Link 経由でエクスポートするテーブルでは、Track の変更 プロパティが有効になっている必要があります。 詳細: 詳細オプション
- リンク先の Azure Synapse ワークスペースで、データ流出保護を有効にすることはできません。 詳細情報: データ流出保護を有効にしたワークスペースを作成する
Azure Data Lake Storage Gen2要件
Azure Data Lake Storage Gen2 アカウントと次のロールが必要です。
- Owner
- ストレージ BLOB データ共同作成者
- ストレージ BLOB データ所有者
所有者ロールの要件: Azure Synapse Link サービスのマネージド ID をストレージ アカウントに追加することは特権操作であるため、所有者ロールが必要です。 このマネージド ID により、サービスは Dataverse から Synapse への同期を実行できます。 現時点では、所有者ロールが必要であり、同様の特権を持つカスタム ロールは、この手順ではサポートされていません。
マネージド ID の特権:
- 所有者とストレージ アカウントの共同作成者: ストレージ アカウントでファイル システムを作成し、ストレージ アカウントに割り当てるには、初回セットアップ時にのみ必要です。 セットアップ後、同期操作に影響を与えることなく、これらの特権を削除できます。
- ストレージ BLOB データ共同作成者: 通常の同期中における BLOB 操作に必要です。
- Storage BLOB データ所有者: 現在、Azure Data Lake Storage Gen2が関係するシナリオでデータとアクセス許可の両方を管理するために必要です。
ストレージ アカウントでは、初期セットアップと差分同期の両方で 階層型名前空間 を有効にする必要があります。
ストレージ アカウント キーのアクセスを許可 する必要があるのは、サービスが共有キー承認を使用して、ファイル システムの作成やリンクの確立などの特権操作を実行してからマネージド ID 認証に切り替えるためです。 セットアップ後、キーベースのアクセスは不要になります。
ストレージ アカウントは、コピー操作の許可スコープが任意のストレージ アカウントからに設定されている必要があります。
- Synapse ワークスペース: Synapse ワークスペースと、Synapse Administrator ロールアクセス権がSynapse Studio内に必要です。 Synapse ワークスペースは、Azure Data Lake Storage Gen2 アカウントと同じリージョンに存在する必要があります。 ストレージ アカウントは、Synapse Studio内のリンクされたサービスとして追加する必要があります。 Synapse workspace を作成するには、Synapse workspace を作成するに移動します。
メモ
- ストレージ アカウントと Synapse ワークスペースは、Power Apps テナントと同じMicrosoft Entra テナントに作成する必要があります。
- リンクされたストレージ アカウントとワークスペースの選択した仮想ネットワークと IP アドレス から有効にするには、マネージド ID を使用して Azure Synapse Linkを作成する必要があります。 詳細情報: Azure Data Lake Storage でAzureのマネージド ID を使用する (マネージド ID を設定しない場合は、初期セットアップと差分同期の両方のAzureリソースに対して public ネットワーク アクセス を有効にする必要があります)。
- マネージド プライベート エンドポイント、データ流出、またはマネージド仮想ネットワークを特徴とする Synapse ワークスペースはサポートされていません。
- ストレージ アカウントと Synapse ワークスペースがあるリソース グループへの閲覧者ロールのアクセス権が必要です。
- synapse ワークスペースに複数のユーザーを追加する場合は、Synapse Studio内の Synapse Administrator ロール アクセス権と、Azure Data Lake Storage Gen2 アカウントの Storage BLOB データ共同作成者 ロールが必要です。
- 1 つの DV 環境でのSynapse Link プロファイルの作成は、最大 10 個に制限されます。
Dataverse を Synaps ワークスペースに接続する
Power Apps にサインインし、目的の環境を選択します。
左側のナビゲーション ウィンドウで、Azure Synapse Link を選択します。 Azure Synapse Linkがサイド ウィンドウに表示されない場合は、[...詳細を選択し、Discover all を選択します。 データ管理 セクションで Azure Synapse Link を選択します。
コマンド バーで、+ 新規リンクを選択します。
Connect to your Azure Synapse workspace オプションを選択します。
サブスクリプション、リソース グループ、ワークスペース名、およびストレージ アカウントを選択します。 Synapse ワークスペースとストレージ アカウントが、前提条件セクションで指定された要件を満たしていることを確認します。 次へを選択します。
メモ
環境をデータ レイクにリンクする一環として、Azure Synapse Link サービスにストレージ アカウントへのアクセス権を付与します。 前提条件に従って、Azure Data Lake ストレージ アカウントを作成および構成し、自分にストレージ アカウントの所有者ロールを付与してください。 さらに、Power Platform Dataflows サービスへのアクセス権を自分のストレージ アカウントに付与します。 詳細: データフローでセルフサービス データを準備する。
エクスポートするテーブルを 1 つずつ選択するか、検索ボックスにテーブルのコンマ区切りリストを入力して選択し、保存を選択します。 有効化された変更の追跡プロパティを含むテーブルのみエクスポートできます。 詳細: 詳細オプション。
上記の手順に従って、1つの環境から複数の Azure Synapse Analytics ワークスペースと Azure Data Lake をリンクすることができます。Azure サブスクリプション内で、Azure Data Lake をリンクされたサービスとして Synapse ワークスペースに追加します。 同様に、複数の環境から同じテナント内のAzure Synapse AnalyticsワークスペースとAzureデータレイクへのリンクを作成することもできます。
メモ
Azure Synapse Link for Dataverse サービスは、すぐに使える機能として Power Platform にシームレスに統合されています。 Power Platform データ ストレージとガバナンスに関して設定されたセキュリティとガバナンスの標準を満たしています。 詳細情報: データ ストレージとガバナンス
Azure Synapse Link サービスによってエクスポートされたデータは、トランスポート層セキュリティ (TLS) 1.2 以降を使用して転送中に暗号化され、Azure Data Lake Storage Gen2で保存時に暗号化されます。 さらに、BLOB ストレージ内の一時データも暗号化されて保存されます。 Azure Data Lake Storage Gen2での暗号化は、データの保護、エンタープライズ セキュリティ ポリシーの実装、規制コンプライアンス要件の満たすのに役立ちます。 詳細情報: Azure Data Encryption-at-Rest 詳細情報: ファイアウォールと仮想ネットワーク Azure Storageの構成
Synapse ワークスペースのテーブル データを管理する
Azure Synapse Linkを設定したら、次の 2 つの方法のいずれかでエクスポートされるテーブルを管理できます。
Power Apps (make.powerapps.com) Azure Synapse Link 領域で、コマンド バーの Manage tables を選択して、1 つ以上のリンク テーブルを追加または削除します。
Power Apps maker portal Tables 領域で、... を選択します。テーブルの横にあるテーブル データをエクスポートするリンクされたデータ レイクを選択します。
Azure Synapse Linkを監視する
Azure Synapse Linkを設定したら、Tables タブで Azure Synapse Linkを監視できます。
- 選択した Azure Synapse Linkの一部であるテーブルの一覧が表示されます。
- 同期のステータスには、さまざまな段階があります。 NotStarted は、テーブルが同期の待機中であることを示します。 テーブルの初期同期が 完了 になると、増分更新が行われない後処理の段階が発生します。 データのサイズによっては数時間かかる場合があります。 増分更新が開始すると、最後の同期の日付が定期的に更新されます。
- カウント列には、書き込まれた行数が表示されます。 追加のみ がいいえに設定されている場合は、レコードの総数を表わします。 追加のみ がはいに設定されている場合は、変更の総数を表わします。
- 追加のみとパーティション戦略の列には、さまざまな詳細設定の使用状況が表示されます。
Azure Synapse Linkのリンクを解除する
リンクを解除する目的の Azure Synapse Linkを選択します。
コマンド バーから リンク解除 を選択します。
Data Lake ファイル システムと Synapse データベースの両方を削除するには、リンク名を入力して確認します。
はい を選択し、すべてのリンクが解除されて削除されるまで数分待ちます。
重要
リンク解除が完了すると、Azure Synapse Link データベース内に作成したカスタム データベース オブジェクトが削除されます。
バックアップを確実に確保するために、カスタム データベース オブジェクト スクリプトの独自のバージョン管理を実装する必要があります。
Azure Synapse Link の再リンク
リンク解除時にファイル システムを削除した場合は、上記の手順で同じ Synapse ワークスペースと Data Lake を再リンクします。 リンク解除時にファイル システムを削除しなかった場合は、データをクリアしないと再リンクできません:
Azure Synapse Analyticsに移動します。
リンクされていないデータベースの ... を選択し、新規ノートブック>空のノートブック を選択します。
ドロップ ダウン メニューからプールを選択して、ノートブックを Apache Spark プールにアタッチします。 Apache Spark プールがない場合は、プールの管理を選択して、作成します。
次のスクリプトを入力し、<DATABASE_NAME> をリンク解除するデータベースの名前に置き換えて、ノートブックを実行します。
%%sql
DROP DATABASE <DATABASE_NAME> CASCADE
ノートブックを実行した後、左側のパネルからデータベース リストを更新します。 データベースがまだ存在する場合は、データベースを右クリックして削除を選択してください。
Power Appsに移動し、Synapse ワークスペースとデータ レイクを再リンクします。
ほぼリアルタイムのデータと読み取り専用のスナップショット データにアクセスする
Azure Synapse Linkを作成すると、2 つのバージョンのテーブル データが既定で Azure Synapse Analytics または Azure サブスクリプションのAzure Data Lake Storage Gen2に同期され、レイク内の更新されたデータを確実に使用できるようになります。任意の時刻:
- ほぼリアルタイムのデータ: Azure Synapse Link 経由で Dataverse から同期されたデータのコピーを、最初に抽出または最後に同期されてから変更されたデータを検出することで効率的に提供します。
- スナップショット データ: 定期的に (この場合は 1 時間ごと) 更新されるほぼリアルタイム データの読み取り専用コピーを提供します。
メモ
- ほぼリアルタイムの同期パフォーマンスは、初期データ読み込みサイズ、データ変更頻度、変更量など、いくつかの要因によって異なります。 トランザクション量が多い状況 (Finance and Operations アプリで数百万件のレコードを短時間で生成するプロセスなど) や、大量のレコードを削除して再作成するDynamics 365 Supply Chain Managementに含まれるマスター 計画機能などのプロセス。 Synapse Link削除を含むすべての変更を同期する必要があります。 このような大量のシナリオでは、ほぼリアルタイムでのデータの可用性を保証することはできません。
- 読み取り専用スナップショット データを作成するには、コピー操作を許可したスコープ 設定が 任意のストレージ アカウントから 構成されていることを確認してください。 詳細: コピー操作の許可範囲の構成
- 目的の Azure Synapse Linkを選択し、上部のパネルから Go to Azure Synapse Analytics workspace を選択します。
- 左側パネルから レイク データベース を展開し、dataverse-environmentName-organizationUniqueName を選択してから、テーブル を展開します。
すべての 準リアルタイム データ テーブル は、DataverseTableName という命名規則で一覧表示され、分析に利用できます。 すべてのスナップショット データ テーブルは、DataverseTableName_partitioned という命名規則で一覧表示され、分析に利用できます。
次の手順
Azure Synapse Link for Dataverse サービスを正常に使用したら、Discover Hub を使用してデータを分析および使用する方法を確認します。
Discover Hub にアクセスするには、Power Apps>Azure Synapse Link にアクセスします。 リンクされたサービスを選択してから、ハブの検出 タブを選択します。ここでは、データから最大の価値を引き出すのに役立つ推奨ツールとキュレーションされたドキュメントを見つけることができます。