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

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

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

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

Dataverse には、外部データにアクセスする OData v4 Web サービスへの接続に使用する、OData データ プロバイダーが含まれています。

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

仮想テーブルのメリット

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

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

開発者は、仮想テーブルのデータ プロバイダーとして使用するカスタム プラグインを作成します。 あるいは、提供されている OData v4 データ プロバイダーを使用することもできます。 詳細: OData v4 データ プロバイダーの構成、要件、ベスト プラクティス

  1. Power Apps にサインインし、設定 > 詳細設定 を選択します。

  2. 設定 > 管理 > 仮想エンティティ データ ソースの順に移動します。

  3. [操作] ツール バーで、新規を選択します。

  4. データ プロバイダーの選択ダイアログ ボックスで、次のデータ ソースから選択してから、OK を選択します。

    データ プロバイダー 説明
    カスタム データ プロバイダー データ プロバイダー プラグインをインポートした場合は、データ プロバイダーはここに表示されます。 詳細 開発者ドキュメント: 仮想テーブルに関する入門情報
    OData v4 データ プロバイダー Dataverse には、OData v4 Web サービスで使用できる OData データ プロバイダーが含まれています。 詳細 OData v4 データ プロバイダーの構成、要件、ベスト プラクティス

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

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

注意

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

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

仮想テーブルの作成

仮想テーブルは、Dataverse の他のテーブルと同様に、ここで説明したいくつかの追加属性を追加して作成します。 仮想テーブルは、ソリューション エクスプローラーを使用して作成する必要があります。

注意

仮想テーブルは、データ ソースとして なし を選択して作成できますが、データを取得するには、仮想テーブルにデータ ソースが必要です。 詳細 仮想テーブルに使用するデータ ソースの追加

ソリューション エクスプローラーを開きます

作成する仮想テーブルの名前の一部はカスタマイズの接頭辞です。 これは、作業中のソリューションの発行者に基づいて設定されます。 カスタマイズの接頭辞に注意を払う場合は、カスタマイズの接頭辞がこの仮想テーブルに必要な接頭辞であるアンマネージド ソリューションで作業するようにします。 詳細: ソリューション発行者の接頭辞を変更する

アンマネージド ソリューションを開く

  1. Power Apps の左ナビゲーション ペインからソリューションを選択し、ツール バーのクラシックに切り替えを選択します。 項目がサイド パネル ウィンドウに表示されない場合は、…さらに表示 を選択して、目的の項目を選択します。

  2. すべてのソリューション リストから、必要な [アンマネージド ソリューション] を開きます。

仮想テーブルの作成

  1. ソリューション エクスプローラーで、新しいテーブルを作成します。 これを行うには、左側のナビゲーション ウィンドウでエンティティをクリックしてから、新規を選択します。

  2. エンティティ定義概要タブで、仮想エンティティを選択してから、データ ソースドロップダウン リストで、必要なデータ ソースを選択します。

    テーブル定義の仮想テーブル オプション。

  3. エンティティの定義で、以下の必須列に入力します。

    フィールド 内容
    外部名 このテーブルがマッピングされている外部データ ソースのテーブルの名前を入力します。
    外部コレクション名 このテーブルがマッピングする外部データ ソースにテーブルの複数名を入力します。

    これは、Azure Cosmos DB データ プロバイダーを使用してドキュメント ファイルにアクセスする Movie という名前の仮想テーブルの例です。

    Azure Cosmos DB データ プロバイダーを使用した仮想テーブルの定義。

    重要

    アクセス チーム、キュー、簡易作成などの複数のオプションは、仮想テーブルでは使用できません。 詳細 仮想テーブルを使用する際の考慮事項

    必要に応じて、表示名および複数名など、そのほかの必須およびオプション プロパティを入力します。 これらのプロパティの詳細については、テーブルの作成および編集 を参照してください。

  4. 仮想テーブルに 1 つ以上の列を作成および追加します。 カスタム列の作成に必要な標準の列プロパティに加えて、これらのオプションのプロパティは、仮想テーブルに作成する各カスタム列に使用できます。

    フィールド 内容
    外部名 通常、これは、列に表示するデータを識別するために一意の名前です。
    外部の種類の名前 作成する列の種類が OptionSet の場合: このプロパティは、選択肢の外部サービスにある値のセットの外部名にマッピングされます。 通常、これは、文字列値クラスの列挙値または名前です。 完全修飾名が必要なときは、外部型名を使用できます。 たとえば、[型名] [] など、クエリのパラメーターが完全修飾名を必要とする OData を含む [型名] として。
    外部値 作成する列の種類が OptionSet の場合: このプロパティは、選択項目の外部データ ソースにある対応する値にマッピングされます。 入力した値は、アプリに表示する選択項目を決定するために使用されます。

    必要に応じて、追加プロパティを入力します。 これらのプロパティの詳細については、列の作成および編集 を参照してください。

  5. プロパティ ページで、保存して閉じる を選択します。

  6. ソリューション エクスプローラーのツール バーで、保存を選択します。

  7. ソリューション エクスプローラーのツール バーで、公開を選択します。

  8. ソリューション エクスプローラーを閉じます。

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

仮想テーブルには次のような制限があります。

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

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

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

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

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

参照

OData v4 データ プロバイダーの要件とベスト プラクティス
テーブルの作成および編集
Power Pages で仮想テーブルを構成する

注意

ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)

この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。