外部データ ソースからのデータを含む仮想テーブルの作成および編集
- [アーティクル]
-
-
仮想テーブルは Microsoft Dataverse のカスタム テーブルであり、外部データ ソースからのデータを含む列があります。 仮想テーブルは通常のテーブル行としてお使いのアプリに表示されますが、Azure SQL Database などの外部データベースからのデータを含みます。 仮想テーブルに基づく行は、Dataverse Web サービスを使って開発されたユーザー定義のクライアントを含む、すべてのクライアントで利用できます。
以前は、異種のデータ ソースを統合するには、データの移行またはユーザー定義のプラグインの開発のために、サーバー側またはクライアント側のいずれかに、コネクタを作成する必要がありました。 ただし、仮想テーブルを使用して、実行時に外部データ ソースに直接接続できるので、データ レプリケーションをする必要なく、外部データ ソースの特定のデータを環境で利用することができます。
仮想テーブルは、データ プロバイダー、データ ソース 行、仮想テーブル の 3 つのメイン コンポーネントで構成されます。 データ プロバイダーは、プラグインとデータ ソース テーブルで構成されます。 データ ソースは、Dataverse のテーブル行で、接続パラメーターのスキーマを表すメタデータを含みます。 各仮想テーブルは、テーブル定義内のデータ ソースを参照します。
Dataverse には、外部データにアクセスする OData v4 Web サービスへの接続に使用する、OData データ プロバイダーが含まれています。
また、開発者は、独自のデータ プロバイダーを作成できます。 データ プロバイダーは、環境にソリューションとしてインストールされます。 詳細: 開発者ドキュメント: 仮想テーブルに関する入門情報
- 開発者は、Dataverse Web サービスとプラグイン登録ツールを使用して、外部データの読み取り、更新、削除を実行するためのプラグインを実装できます。
- システム カスタマイザーは、Power Apps ソリューション エクスプローラーを使用して、データ ソース行を構成し、コードをまったく記述せずに、外部データへのアクセスに使用される仮想テーブルを作成します。
- エンド ユーザーは、仮想テーブルによって作成された行を使用して、列、グリッド、検索結果、Fetch XML ベースのレポートやダッシュボードのデータを表示します。
開発者は、仮想テーブルのデータ プロバイダーとして使用するカスタム プラグインを作成します。 あるいは、提供されている OData v4 データ プロバイダーを使用することもできます。 詳細: OData v4 データ プロバイダーの構成、要件、ベスト プラクティス
Power Apps にサインインし、設定 > 詳細設定 を選択します。
設定 > 管理 > 仮想エンティティ データ ソースの順に移動します。
[操作] ツール バーで、新規を選択します。
データ プロバイダーの選択ダイアログ ボックスで、次のデータ ソースから選択してから、OK を選択します。
データ ソースにセキュリティで保護されている列を追加する
データ ソースの列は、他のテーブルと同じ方法で作成します。 暗号化されたデータまたは機密データの場合、データ ソースのカスタム列でデータ ソース シークレット属性を有効にします。 たとえば、データベース接続文字列を含む列を保護する場合です。
注意
データ ソース シークレットの属性は、データ ソース フォームに追加された列でのみ使用できます。
仮想テーブルは、Dataverse の他のテーブルと同様に、ここで説明したいくつかの追加属性を追加して作成します。 仮想テーブルは、ソリューション エクスプローラーを使用して作成する必要があります。
作成する仮想テーブルの名前の一部はカスタマイズの接頭辞です。 これは、作業中のソリューションの発行者に基づいて設定されます。 カスタマイズの接頭辞に注意を払う場合は、カスタマイズの接頭辞がこの仮想テーブルに必要な接頭辞であるアンマネージド ソリューションで作業するようにします。 詳細: ソリューション発行者の接頭辞を変更する
Power Apps の左ナビゲーション ペインからソリューションを選択し、ツール バーのクラシックに切り替えを選択します。 項目がサイド パネル ウィンドウに表示されない場合は、…さらに表示 を選択して、目的の項目を選択します。
すべてのソリューション リストから、必要な [アンマネージド ソリューション] を開きます。
ソリューション エクスプローラーで、新しいテーブルを作成します。 これを行うには、左側のナビゲーション ウィンドウでエンティティをクリックしてから、新規を選択します。
エンティティ定義の概要タブで、仮想エンティティを選択してから、データ ソースドロップダウン リストで、必要なデータ ソースを選択します。
エンティティの定義で、以下の必須列に入力します。
フィールド |
内容 |
外部名 |
このテーブルがマッピングされている外部データ ソースのテーブルの名前を入力します。 |
外部コレクション名 |
このテーブルがマッピングする外部データ ソースにテーブルの複数名を入力します。 |
これは、Azure Cosmos DB データ プロバイダーを使用してドキュメント ファイルにアクセスする Movie という名前の仮想テーブルの例です。
必要に応じて、表示名および複数名など、そのほかの必須およびオプション プロパティを入力します。 これらのプロパティの詳細については、テーブルの作成および編集 を参照してください。
仮想テーブルに 1 つ以上の列を作成および追加します。 カスタム列の作成に必要な標準の列プロパティに加えて、これらのオプションのプロパティは、仮想テーブルに作成する各カスタム列に使用できます。
フィールド |
内容 |
外部名 |
通常、これは、列に表示するデータを識別するために一意の名前です。 |
外部の種類の名前 |
作成する列の種類が OptionSet の場合: このプロパティは、選択肢の外部サービスにある値のセットの外部名にマッピングされます。 通常、これは、文字列値クラスの列挙値または名前です。 完全修飾名が必要なときは、外部型名を使用できます。 たとえば、[型名] [値] など、クエリのパラメーターが完全修飾名を必要とする OData を含む [型名] として。 |
外部値 |
作成する列の種類が OptionSet の場合: このプロパティは、選択項目の外部データ ソースにある対応する値にマッピングされます。 入力した値は、アプリに表示する選択項目を決定するために使用されます。 |
必要に応じて、追加プロパティを入力します。 これらのプロパティの詳細については、列の作成および編集 を参照してください。
列 プロパティ ページで、保存して閉じる を選択します。
ソリューション エクスプローラーのツール バーで、保存を選択します。
ソリューション エクスプローラーのツール バーで、公開を選択します。
ソリューション エクスプローラーを閉じます。
仮想テーブルには次のような制限があります。
- 既存のテーブルは、仮想テーブルに変換できません。
- 既定では、仮想テーブルには名前と 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 で仮想テーブルを構成する