仮想コネクタのプロバイダーを使用して仮想テーブルを作成する (プレビュー)

[このトピックはプレリリース ドキュメントであり、変更されることがあります。]

仮想テーブルは、外部データ ソースからのデータを、データを複製することなく、Microsoft Dataverse のテーブルとしてシームレスに表現することで、データの統合を可能にします。 Microsoft Power Platform をベースにしたソリューションでは、仮想テーブルを Dataverse のネイティブ テーブルのように活用できます。 詳細については、仮想テーブルの使用を開始するを参照してください。

このパブリック プレビュー リリースでは、次のコネクタを使用した仮想テーブルの作成をサポートする仮想コネクタ プロバイダーを紹介します。

今後のリリースでは、このプロバイダーの一環として、他の表形式のコネクタの拡張とサポートを継続していく予定です。

サポートされているアクションと制限の詳細については、以下を参照してください。

概要

仮想テーブルには、次のコンポーネントが含まれます。

仮想テーブル コンポーネント

  • データ ソース – 外部データが保存されている場所
  • データ プロバイダー – 仮想テーブルの動作を定義します
  • 接続 – データ ソース/認証に接続する機能が設定されます
  • 接続参照 – Dataverse がデータ ソースへの接続を使用する方法

仮想コネクタ プロバイダーは、作成プロセスの一部を自動化することで、作成エクスペリエンスを合理化します。 コネクタのデータ ソースを使用して外部ソースへのリモート接続を確立すると、仮想コネクタ プロバイダーは、外部データ ソースからテーブル定義 (メタデータ) を取得して、利用可能なすべてのテーブルのリストを含むエンティティ カタログを自動的に生成します。

エンティティ カタログ は情報を保持せず、常に外部データ ソースの現在の状態を表します。 エンティティ カタログ からテーブルを選択して仮想テーブルを作成できます。 複数の外部データソースを使用している場合は、外部ソースごとに エンティティ カタログ が生成されます。

基礎となるデータソースは、プロバイダが外部データへの認証されたリモート接続を確立するための鍵となります。 これは、外部ソースに関する詳細を格納する接続の参照情報を使用します。 接続の参照情報に格納されている情報は、コネクタの種類と参照しているコネクションに固有のものです。

仮想コネクタ プロバイダーの概要

たとえば、SQL Server コネクタには、サーバー名、データベース名、認証方法、ユーザー名、パスワード、およびゲートウェイ接続の詳細 (任意) が必要です。 各外部データソースは、その エンティティ カタログ のインスタンスを作成するために、新しい接続参照を定義する必要があります。

コネクタのアクセス許可は、組織のユーザーが仮想テーブルにアクセスして操作する機能を強制します。 この接続は、1 人のユーザーで共有することも、組織全体で共有することも可能です。 これにより、ユーザーは共有回線を使って仮想テーブルにアクセスし、操作することができます。

アプリケーション ライフサイクル管理 (ALM) は、仮想コネクタ プロバイダーを使用して作成された仮想テーブルでサポートされています。 仮想テーブルは、ソリューションを配布するための接続参照と一緒に、管理されたソリューションの一部でなければなりません。 このソリューションには、仮想テーブルを使用するモデル駆動型アプリなど、他のコンポーネントを含めることができます。

アプリケーション ライフサイクル マネジメント (ALM) とそのソリューションに関する詳細情報:

仮想コネクタ プロバイダーで仮想テーブルを作成する

仮想コネクタ プロバイダーを使用した仮想テーブルを作成する手順には、次が含まれます。

  1. 仮想コネクタをダウンロードしてインストールする
  2. 接続を作成する
  3. 接続参照を作成する
  4. データ ソースを作成する
  5. エンティティ カタログ
  6. 仮想テーブルの関連付けを設定する

仮想コネクタをダウンロードしてインストールする

  1. Microsoft AppSource に移動して、Virtual Connector を検索、またはリンクを選択してプロバイダーをダウンロードします: Dataverse の仮想コネクタ

    Dataverse の仮想コネクタ

  2. 今すぐ入手する を選択します。 サインイン ダイアログで、職場または学校のアカウントの電子メールを入力します。 利用規約に同意し、続ける を選択します。 Power Platform 管理センターが自動的に開きます。

  3. ソリューションをインストールする環境を選択します。 利用規約に同意し、インストール を選択します。 インストールが完了すると、環境 -> [ご利用の環境名] -> Dynamics 365 アプリ の下にインストールされた Dataverse の仮想コネクタ アプリの中に仮想コネクタが表示されます。

    コネクタをインストールする環境を選択します

  4. また、Power Apps 環境では 仮想コネクタ プロバイダー ソリューションなどが有効になっているはずです。

    仮想コネクタ プロバイダー ソリューション

接続を作成する

SQL 仮想コネクタ プロバイダーを使用して仮想テーブルを作成する方法を示す 4 分間のビデオをご覧ください。

  1. Power Apps に移動し、仮想テーブルを設定する環境を選択します。

  2. 左側のナビゲーション ウィンドウで、データー > コネクション を選択し、新規接続 を選択します。

    Power Apps に新しい接続を作成する

  3. 接続のリストから、以下のいずれかの仮想接続を選択します。

    • SQL Server
    • Microsoft Excel Online (Business)
    • Microsoft SharePoint
  4. データ ソースに接続するための追加詳細を提供するように求められます。

  • 認証の種類で、[SQL Server 認証] を選択します。

  • SQL Server 名、SQL データベース名、接続に必要な資格情報を入力します。

    SQL に接続

  • オンプレミスの SQL サーバーを使用している場合は、ゲートウェイ情報も入力してから、作成 を選択します。

    ゲートウェイ情報のある SQL オンプレミスに接続する

接続参照を作成する

  1. ソリューション に移動します。

  2. 規定のソリューション を選択、または仮想テーブルを作成する環境内にあるその他の既存のソリューションを選択します。

  3. 新規 を選択し、接続の参照 (プレビュー) を選択します。

  4. 表示名 を入力し、コネクタ オプション用に作成した接続を選択してから、作成したデータ接続を選択します。

    新しい接続参照

データ ソースを作成

次に、Dataverse で仮想テーブル データ ソースを作成します。

  1. 歯車のアイコン -> 詳細設定 を選択する

    詳細設定コマンド

  2. 上部のナビゲーション バーで 設定 を選択してから、管理 を選択します

    システム管理に移動

  3. 仮想エンティティ データ ソース を選択する

    仮想エンティティ データ ソース設定

  4. 新規 を選択します。 ポップアップ ダイアログで、仮想コネクタ データ プロバイダーを選択します。

    新しいデータ ソース

    仮想コネクタ プロバイダーを選択する

  5. データ ソース に名前を付け、ドロップダウン リストで作成した 接続参照 を選択します。

    データ ソースに名前を付け、接続参照を選択します

    • SQL Server
      • データ ソース フィールドを空のままにする
    • Microsoft Excel Online (Business)
      • 拡張子を含むファイルの名前に貼り付けます。 ファイルは、接続設定で使用した OneDrive の中にある必要があります。 (例: SampleData.xlsx)
    • Microsoft SharePoint
  6. 保存 をクリックする

エンティティ カタログ

接続参照と仮想テーブルのデータ ソースを設定すると、エンティティ カタログ が自動的に生成されます。 エンティティ カタログ はデータ ソースに固有のものであり、それぞれのデータ ソースにあるすべてのテーブルを一覧表示します。

エンティティ カタログ

注意

  • エンティティ カタログの作成は非同期プロセスです。 ご利用の環境によっては、この作業に数分かかる場合があります。
  • エンティティカタログに表示されているテーブルは、それ自体が仮想テーブルではありません。 Dataverse に仮想テーブルを作成するには、外部データを表すテーブルの一覧から選択する必要があります。

エンティティ カタログを表示する

  • データ -> テーブルを選択し、作成したエンティティ カタログを選択します。

  • 高度な検索 を選択して、検索対象: 列を使用します。 カタログには、接続参照が続くプレフィックス エンティティ カタログが含まれます (例: Adventure Works DB のエンティティ カタログ)。 それぞれのデータ接続の エンティティ カタログ を見つけ、結果ボタンを選択すると、すべての外部データソース テーブルが表示されます。

    高度な検索テーブル カタログ

    注意

    現在、仮想テーブルの一括作成はサポートされていません。 エンティティ カタログでは複数のテーブルを選択できますが、仮想テーブルを作成するには一度に 1 つのテーブルを選択する必要があります。

  1. 仮想テーブルを作成するには、エンティティ カタログ用にモデル駆動型アプリを構築する必要があります。 エンティティ カタログ テーブルを選択します。

  2. 上部のナビゲーションで、アプリの作成をクリックします。

テーブルが選択されたエンティティ カタログ、テーブル ビュー

  1. アプリに名前を付けて、作成をクリックします

モデル駆動型アプリの画面を作成する

アプリは、エンティティ カタログ テーブルを使用して自動的に生成されます。

  1. アプリが完成したら、公開をクリックしてアプリを完成させ、後で使用するか、再生をクリックして、アプリを公開せずに今すぐ仮想テーブルを作成できます。

完了済みモデル駆動型アプリ

データ ソースの適格なすべてのデータセットがアプリ ビューで提供されます。

  • SQL: データベースの適格なすべてのテーブルが表示されます
  • SharePoint: サイト内のすべての一覧が表示されます
  • Excel: Excel ファイル内のすべてのテーブルが表示されます
  1. エンティティ カタログから使用するデータ セットを選択し、ナビゲーション バーの編集をクリックします。

データ セットが選択されたモデル駆動型アプリのエンティティ カタログ ビュー

フォームが完全に読み込まれるのを待ってから編集してください。 読み込まれたフォームは次のように表示されます。

すべてのフィールドが空白のエンティティ カタログ編集フォーム

  1. 提供されたフォームで、エンティティの作成または更新の列をはいに設定します。

  2. ドロップダウンを使用して仮想エンティティの主キーと主フィールドを選択し、使用する列を見つけます。

すべてのフィールドが入力されたエンティティ カタログ編集フォーム

  1. レコードを保存して仮想テーブルを作成します。

注意

保存が完了すると、フォームは "リセット" され、すべてのフィールドが空白で表示されますが、これは正常です。

Maker Portal のホーム ページに戻ってデータを選択すると、仮想テーブルが接頭辞 "カスタム エンティティ" で作成されます。 作成完了するまでに少し時間がかかる場合があります。 仮想テーブルが選択された Maker Portal

重要

  • 仮想テーブルでは、仮想コネクタ プロバイダの主キーとして関連付けられた GUID が必要なくなりました。
  • プロバイダは、仮想テーブルの作成時に、外部データソースに関連付けられた主キーを自動的にマッピングします。 生成された仮想テーブルに対して、すべての CRUD 操作を行うことができます。
  • 外部データのすべての列は、コネクタがサポートする Dataverse タイプに自動的にマッピングされます。 仮想テーブルの詳細確認や、変更をするには、設定 -> カスタマイズ – エンティティ ビューに移動します。
  • 仮想テーブルでは、プライマリ名の列として使用する文字列フィールドが少なくとも 1 つ必要です。

仮想テーブルを作成した後は、他のテーブルと同じように操作することができます。 環境内の他のテーブルとの関係を定義し、Power Apps や Power Automate のフローで使用することができます。

仮想テーブルの関連付けを設定する

関連付けに仮想テーブルが有効になっています。 1:N、N:1、N:N の関連付けを設定できます。 関連付けは、次の間に確立できます。

  • Dataverse および仮想テーブルのローカル テーブル
  • 同じプロバイダーの仮想テーブルと他の仮想テーブル (例: SQL->SQL)

たとえば、OData 仮想テーブル プロバイダーで作成した仮想テーブルと、仮想コネクタ プロバイダーで作成した仮想テーブルとの間に関連付けを設定することはできません。

仮想テーブルでの関連付けの定義

仮想コネクタ プロバイダを使用して作成された仮想テーブルでは、外部ソース テーブルで表現されているすべての列が自動的に作成されます。 これには、関連付けが定義されている列も含まれます。 ただし、関連付けの定義は自動的には作成されません。 この関連付けは、Dataverse で手動で定義する必要があります。

次の例では、仮想テーブル (サービス リクエスト) とネイティブ テーブル (アカウント) の間に N:1 の関連付けを作成しています。 関連付けを設定する列は、AccountId です。 この列は、Account テーブルの主キーであり、Service Request テーブルの外部キーです。

サービス要求 の仮想テーブルの表現を以下に示します。 外部ソースの関連付けに使用されている AccountId 列は、テキストの複数行 タイプであることがわかります。 関連付けを作成するには、この列が 検索 型として表現されている必要があります。

仮想テーブルに列を作成する

  1. 詳細設定 -> 設定 -> カスタマイズ にアクセスし、システムをカスタマイズする を選択します。

  2. 左側のナビゲーション ペインで、エンティティ ビューを展開し、サービス要求の仮想テーブル定義を参照します。

  3. フィールド ビューを選択し、AccountId 列を選択して 削除 を選択します。

  4. 削除 を選択してこの列の削除を確認します。

  5. 関連付けを作成するには、サービス要求テーブル内の N:1 の関連付け を選択します。

  6. 新しい多対 1 の関連付け を選択します。

  7. 以下の詳細を入力して、サービス要求の仮想テーブルとアカウント テーブルの間の関連付けを作成します。

    1. 関連付けの定義 セクションで、主エンティティ 列の値を アカウント に設定します。

    2. オプションで、関連付けの名前を編集する場合は、名前 列で編集できます。

    3. ルックアップ フィールド セクションで、表示名アカウント をを設定します。

    4. 名前 列には、ルックアップ列名が自動的に入力されます。

    5. 外部名 の値を AccountId (ソース テーブルの列名と一致するもの) に設定します。

      関連付けの作成

  8. サービス要求 の仮想テーブルの列を参照すると、AccountID 列が 検索 タイプではないことがわかります。 この列をフォームとビューに追加して、各サービス要求レコードに関連付けられているすべてのアカウントを表示できるようになりました。

    カスタム テーブル列

  9. 関連付けが確立されると、新しいサービス要求を作成し、関連付けるアカウントを選ぶことができます。

    新規カスタム テーブル

注意

仮想テーブルを操作する前に、このテーブルのフォームやビューを編集して、ルックアップ列やその他の必要な列を含める必要があります。

ヒント

  • 基になるソース テーブルの設計中に列を自動的に増加するように設定しなかった場合は、主キーの列を作成フォームに含める必要があります。 挿入操作を成功させるためには、主キー列に有効な値を入力する必要があります。
  • エンティティ カタログ 作成に時間がかかる場合は、設定 - >システム ジョブ ビューに移動してジョブの完了ステータスを確認できます。

既知の制限

以下は、仮想コネクタ プロバイダーを使用して作成された仮想テーブルの既知の制限の一覧です。

全般

  • 仮想テーブルのテキスト列に使用できる最大文字数は 4000 文字です。 ソース テーブルの最大文字数の制限がこの値より大きい場合、最大文字数の制限を超える作成/更新操作は検証エラーになり、操作は失敗します。
  • 仮想テーブル クエリは、返されるレコードが 250 に制限されています。 仮想テーブルと 1:N または N:N の関連付けがある場合、この制限を超えるクエリは失敗し、エラーが発生します。 この制限の回避策として、クエリでフィルター処理を使用してレコードセットを減らす方法があります。
  • Dataverse は、ローカルに保存されたデータの監査データのみを実行および保存するため、仮想テーブルでは監査機能を使用できません。
  • データをローカルに保存する必要がある Dataverse で、ロールアップがサーバー側の計算であるため、ロールアップは仮想テーブルに対して計算できません。

各データ ソース

以下は、各データ ソースの制限です。

  • ソース テーブルの SQL データ型 bigint 列は、Dataverse 仮想テーブルで 10 進数のデータ型としてマップされます。 整数への bigint マッピングにプラットフォーム サポートが利用できる場合、仮想テーブルで以前に作成した列を削除し、新しい列を作成する必要があります。
  • 主キーのない SQL Server テーブル: 文字列以外のフィールドを主キーとして選択できます。 仮想テーブルは正常に作成されます。 次のエラー メッセージが表示され、RetrieveMultiple は機能し、他の操作は失敗します (SQL コネクタから送信されます):「APIM 要求は成功しませんでした : BadRequest : テーブルに主キーがありません」。
  • 文字列主キーを持つ SQL Server テーブル: SQL 文字列主キーは、仮想テーブルの主キーで使用できる唯一のオプションになります。 仮想テーブルの作成は成功しますが、ランタイムに次のエラーで失敗します:「文字列の主キーは GUID として解析できる場合にのみサポートされます」。 SQL Server 文字列の主キーは、値を GUID として解析できる場合にのみサポートされます。
  • 主キーでない文字列フィールドのない SQL Server テーブル: 主フィールド リストは空になり、ユーザーは仮想テーブルを作成できなくなります。 少なくとも 1 つの主キーでない文字列フィールドが必要です。
  • SQL Server コネクタの制限: SQL Server コネクタ参照 をご覧ください。

トラブルシューティング

  • ソース テーブルに多くのレコードがある場合でも、仮想テーブルにレコードが 1 つしか表示されません。
    解決方法: ソース テーブルをチェックして、主キーが定義されていることを確認します。

  • 仮想テーブルを作成しましたが、"テーブル" に表示されません。
    ソリューション: 仮想テーブルの作成は非同期であるため、「システム ジョブ」でプロセスの状態を確認できます。 Microsoft.Wrm.DataProvider.Connector.Plugins.ConnectorGenerateVEPlugin で始まる名前のシステム ジョブと、新しい仮想テーブルの名前に等しい「関連する」列の値を持つシステム ジョブを検索します。 状態がまだ進行中の場合は、ジョブが完了するのを待ちます。 エラーが発生した場合は、ジョブ名が「ハイパーリンク」のシステムをクリックして詳細を取得できます。 この例では、テーブルの作成はまだ保留中です。

    テーブルの作成は保留中

    エラー 429 "要求が多すぎます" が原因でテーブルの作成に失敗しました。

    エラー 429 が原因でテーブルの作成に失敗しました。

  • テーブル作成のシステム ジョブは成功しましたが、無効な列または不足している列に関連するランタイム エラーが発生します
    ソリューション: テーブルのフィールド作成に失敗した場合、テーブル作成のプロセスは失敗せず、他のフィールドを続行しようとします。 これは、一部の列タイプがサポートされていない場合に仮想テーブルの作成をブロックしたくないためです。 エラーの詳細を取得するには、管理> システム設定 > カスタマイズ > プラグイン トレース ログを有効にする でログを有効にしてから、仮想テーブルを削除して、作成を再試行します。

参照

仮想テーブルに関する入門情報 (エンティティ)