外部データ ソースからのデータを含む仮想テーブルを作成および編集する

仮想テーブルは、外部データ ソースからのデータを含む列を含む Microsoft Dataverse のカスタム テーブルです。 仮想テーブルは、通常のテーブル レコードとしてユーザーに表示されますが、Azure SQL Database などの外部データベースから取得されたデータが含まれています。 仮想テーブルに基づく行は、Dataverse Web サービスを使用して開発されたカスタム クライアントを含むすべてのクライアントで使用できます。

以前は、異種のデータ ソースを統合するには、データの移行またはユーザー定義のプラグインの開発のために、サーバー側またはクライアント側のいずれかに、コネクタを作成する必要がありました。 ただし、仮想テーブルでは、実行時に外部データ ソースに直接接続して、外部データ ソースの特定のデータを環境で使用できるようにし、データ レプリケーションを必要としません。

仮想テーブルは、 データ プロバイダー、データソース 行、 仮想テーブルの 3 つの主要コンポーネントで構成されます。 データ プロバイダーは、プラグインとデータ ソース テーブルで構成されます。 データ ソースは Dataverse のテーブル行であり、接続パラメーターのスキーマを表すメタデータが含まれます。 各仮想テーブルは、テーブル定義内のデータ ソースを参照します。

Dataverse には、SQL Server、SharePoint、Fabricなど、共通の外部データ ソースの接続に使用できる複数の仮想コネクタ プロバイダーが含まれています。 Dataverse には、OData データ ソースへの接続に使用できる OData v4 データ プロバイダーもあります。 詳細については、仮想コネクタ プロバイダーと OData v4 Data Provider構成、要件、ベスト プラクティスを使用した仮想テーブルの作成に関するページを参照してください。

また、開発者は、独自のデータ プロバイダーを作成できます。 データ プロバイダーは、環境にソリューションとしてインストールされます。 詳細情報: 開発者向けドキュメント: 仮想テーブルの概要

仮想テーブルの利点

  • 開発者は、Dataverse Web サービスとプラグイン登録ツールを使用して、外部データの読み取り、更新、または削除を行うプラグインを実装できます。
  • システム カスタマイザーは、Power Apps (make.powerapps.com) を使用して、コードを記述せずに外部データにアクセスするために使用される仮想テーブルを作成します。
  • エンド ユーザーは、仮想テーブルによって作成された行を操作して、列、グリッド、検索結果、および XML ベースのレポートとダッシュボードのフェッチでデータを表示します。

仮想テーブルを作成

Dataverse の他のテーブルと同様に、仮想テーブルを作成します。ここに説明する属性をいくつか追加します。

  1. Power Apps (make.powerapps.com) で、[ソリューション] に移動し、必要なアンマネージド ソリューションを開くか、新しいソリューションを作成します。
  2. ソリューションから、左側のウィンドウの [ オブジェクト ] タブを選択し、[ 新規>Table>Virtual テーブル] を選択します。
  3. 目的のコネクタを選択し、[ 次へ] を選択します。 Azure Databricks、SharePoint、SQL Server、Snowflake、Microsoft Fabric、Salesforce、Oracle Database、PostgreSQL などの一般的なデータ ソースには、いくつかのコネクタの種類を使用できます。
  4. 画面の指示に従って、仮想テーブルを作成します。 詳細情報: 仮想コネクタ プロバイダーを使用して仮想テーブルを作成する

Important

Access Teams、キュー、クイック作成などのいくつかのオプションは、仮想テーブルでは使用できません。 詳細情報: 仮想テーブルを使用する場合の考慮事項

仮想テーブルに使用するデータ ソースを追加する

開発者は、仮想テーブルのデータ プロバイダーとして使用するカスタム プラグインを作成できます。 または、使用可能なプロバイダーのいずれかを使用できます。 詳細については、仮想コネクタ プロバイダーと OData v4 Data Provider構成、要件、ベスト プラクティスを使用した仮想テーブルの作成に関するページを参照してください。

  1. Power Apps (make.powerapps.com) にサインインし、[設定] (歯車アイコン) >[詳細設定] を選択します。

  2. [ 管理>仮想エンティティ データ ソース] を選択します。

  3. コマンド バーで、新規を選択します。

  4. [Data Providerの選択] ダイアログ ボックスで、data providerを選択し、[OK] を選択します。

    データ プロバイダー 説明
    カスタム データ プロバイダー データ プロバイダー プラグインをインポートした場合、データ プロバイダーがここに表示されます。 詳細については、「開発者向けドキュメント: 仮想テーブルの概要」を参照してください。
    OData v4 データ プロバイダー Dataverse には、OData v4 Web サービスで使用できる OData データ プロバイダーが含まれています。 詳細情報 OData v4 データ プロバイダーの構成、要件、ベスト プラクティス
  5. データ プロバイダーに応じて、 名前、 URL、 タイムアウトを入力し、[ 保存] を選択します。

セキュリティで保護された列をデータ ソースに追加する

データ ソースの列は、他のテーブルと同じ方法で作成します。 暗号化または機密データの場合は、データ ソースのカスタム列で データ ソース シークレット 属性を有効にします。 たとえば、データベース接続文字列を含む列をセキュリティで保護します。

Note

データ ソース シークレット属性は、データ ソース フォームに追加された列でのみ使用できます。

データ ソース シークレットの属性。

仮想テーブルを使用する場合の考慮事項

仮想テーブルには、これらの制限があります。

  • 既存のテーブルを仮想テーブルに変換することはできません。
  • 既定では、仮想テーブルには Name 列と Id 列のみが含まれます。 その他のシステム管理列 ([状態] や [作成日]/[変更日] など) はサポートされていません。
  • 仮想テーブルでは、Currency、Image、または Customer データ型のカスタム列はサポートされていません。
  • 仮想テーブルは監査をサポートしていません。
  • 仮想テーブル列は、ロールアップまたは計算列では使用できません。
  • 仮想テーブルをテーブルのアクティビティの種類にすることはできません。
  • ダッシュボードとグラフは、仮想テーブルではサポートされていません。
  • テーブル テーブルの行に影響する多くの機能は、仮想テーブルでは有効にできません。 たとえば、キュー、ナレッジ管理、SLA、重複検出、変更追跡、モバイル オフライン機能、列セキュリティ、Dataverse 検索、Power Pages ソリューションなどがあります。
  • 仮想テーブルは組織が所有しており、行レベルの Dataverse セキュリティの概念はサポートされていません。 外部データ ソースには独自のセキュリティ モデルを実装することをお勧めします。
  • 更新時に検証される列メタデータ プロパティは、仮想テーブルには適用されません。 たとえば、仮想テーブル列の整数列は、最小値が 0 に設定されている場合があります。 ただし、値は外部データ ソースから取得されるため、仮想テーブルから取得すると、クエリは 0 未満の値を返します。 クエリでは最小値のプロパティは示唆されていません。 0を超える値が望ましい場合は、値をそのようにフィルター処理する必要があります。
  • 仮想テーブルは変更の追跡をサポートせず、Data Export Service や Azure Synapse Link for Dataverse などの Dataverse 機能を使用して同期することはできません。
  • 含まれている OData v4 データ プロバイダーを使用する仮想テーブルは、送信ポート 443 で有効になります。
  • ビジネス プロセス フローは、仮想テーブルではサポートされていません。 詳細: ユーザーがビジネス プロセス フローをアクティブ化したときに予期しないエラーが発生しました

ユーザーがビジネス プロセス フローをアクティブ化したときに予期しないエラーが発生しました

ユーザーがビジネス プロセス フローをアクティブ化しようとすると、「予期しないエラー」メッセージが表示される場合があります。 ログ ファイルを表示すると、次のログ エントリが表示されます。

ErrorCode: 0x80040216 メッセージ: System.Web.HttpUnhandledException: タイプ 'System.Web.HttpUnhandledException' の例外がスローされました。 ---> Microsoft.Crm.CrmException: ビジネス プロセス フローを仮想エンティティに対して有効にできません

この問題は、仮想テーブルが業務プロセス フローをサポートしていないために発生します。

参照

仮想コネクタ プロバイダーを使用して仮想テーブルを作成します
OData v4 データ プロバイダーの要件とベスト プラクティス
テーブルの作成と編集
Power Pages で仮想テーブルを構成する