OData v4 データ プロバイダーの構成、要件、ベスト プラクティス

このトピックは、Dynamics 365 Customer Engagement (on-premises) に適用されます。 このトピックの Power Apps バージョンについては、以下を参照してください。 OData v4 データ プロバイダーの構成

このトピックでは、OData v4 データ プロバイダーの構成方法、および OData v4 データ プロバイダーを使用して OData v4 Webサービスに接続するための要件と推奨されるベスト プラクティスについて説明します。

OData v4 データ プロバイダー ベスト プラクティス

  • インスタンスでは、すべてのエンティティに ID 属性が必要です。 この ID は、一意の識別子として知られ、値を guid にする必要があります。 ID フィールドは、EDM.Guid データ型の外部フィールドにのみマップできます。 EDM.Int32 データ型を uniqueidentifer データ型フィールドのマップすることはできません。

  • NULL 値が許容されるプロパティを使用する OData エンティティは、仮想エンティティにマップされたフィールドに一致するよう設定する必要があります。 たとえば、Nullable=False の OData エンティティ プロパティは、フィールド要件属性のマップされたフィールドを必須項目に設定する必要があります。

  • グリッドにデータをロードするなど複数のクエリを取得する場合、クエリ パラメーターの選択とフィルターを使用して、外部データ ソースから返されるデータセットのサイズを制御します。

  • システム管理者は、既に有効にされていない場合はプラグイン トレースを有効にしてください。 有効にすると、OData エンドポイントからのすべてのエラーがプラグイン トレース ログでキャプチャされます。 詳細: [システム設定] ダイアログ ボックス - [カスタマイズ] タブ

データの種類のマッピング

次の表は、適切なデータ型での OData エンティティ データ モデル (EDM) データ型マッピングの一覧を示しています。

OData データ型 [データの種類]
Edm.Boolean 2 つのオプション
Edm.DateTime 日付と時間
Edm.DateTimeOffset 日付と時間
Edm.Decimal 少数または通貨
Edm.Double 浮動小数点数
Edm.Guid 一意識別子
Edm.Int32 整数
Edm.Int64 整数
Edm.String 単一行のテキストまたは複数行のテキスト

仮想エンティティのマップをサポートしない OData EDM データ型

  • Edm.Binary

  • Edm.Time

  • Edm.Float

  • Edm.Single

  • Edm.Int16

  • Edm.Byte

  • Edm.SByte

OData v4 データ プロバイダーを使用してデータ ソースを追加する

この手順では、仮想エンティティ データ ソースとして使用する標準の OData データ プロバイダーを使用する方法を示します。

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

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

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

    • OData v4 データ プロバイダー。 ユーザーの環境には、OData v4 オープン標準をサポートするデータ ソースへの接続に使用できる、Odata v4 データ プロバイダーが含まれています。

    • カスタム データ プロバイダー。 データ プロバイダー プラグインをインポートした場合は、データ プロバイダーはここに表示されます。 詳細: 仮想エンティティで開始

  4. [新規データ ソースのプロパティ] ページで、以下のフィールドに入力してから、レコードを保存します。

    • 名前. データ ソースを説明する名前を入力します。

    • URI。 OData データ プロバイダーを使用する場合、OData Web サービスの URI を入力します。 たとえば、OData プロバイダーを使用して Azure でホストされている Web サービスに接続する場合、URI は https://contosodataservice.azurewebsites.net/odata/ のようになります

    • タイムアウト (秒)。 データ リクエストがタイムアウトする前に Web サービスからの応答を待機する時間を秒数で入力します。たとえば、タイムアウトが発生する前に最大 30 秒待つには、30 を入力します。

    • 改ページ モード。 クエリの結果のページングを制御するために、クライアント側またはサーバー側のページングを使用するかどうかを選択します。 既定値は、クライアント側のページングです。 サーバー側のページングでは、クエリ文字列に追加される $skiptoken パラメーターを使用して結果のページングを制御します。 詳細情報: スキップ トークン システム クエリ オプション ($skiptoken)

      • インライン カウントを返す。 結果セットの総レコード数を返します。 この設定は、グリッドにデータを返す際に次のページの機能を有効にするために使用します。 OData エンドポイントが OData $inclinecount パラメーターをサポートしない場合は false の値を使用します。 既定値は false です。
    • 要求パラメーター。 必要に応じて、外部 Web サービスへの認証パラメーターなど、OData Web サービスへの接続に使用されるユーザー定義の見出しやクエリ文字列パラメーターを追加できます。 クエリ文字列選択すると、ヘッダーとクエリ文字列パラメーターおよび値との間で切り替わります。 最大 10 個のヘッダーまたはクエリ文字列を追加できます。

    仮想エンティティ データ ソース レコード。

参照

外部データ ソースからのデータを格納する仮想エンティティの作成および編集
TechNet ブログ: 新しい仮想エンティティを使った外部システムからのデータとの対話