Azure Cosmos DB SQL API データ プロバイダー要件、構成、およびベストプラクティス

このトピックでは、SQL API データ プロバイダーの Azure Cosmos DB の要件、および仮想エンティティが含まれる SQL API データ プロバイダー用に Azure Cosmos DB を使用するときに推奨されるベスト プラクティスを構成する方法について説明します。

重要

  • プレビュー機能は完全ではない機能ですが、顧客が早くアクセスし、フィードバックを送信できるように、正式リリースの前に利用できるようにしています。 プレビュー機能は、運用環境での使用を想定しておらず、機能が制限される可能性があります。
  • この機能は変更される予定であるため、運用環境では使用しないでください。 開発環境およびテスト環境に限ってご使用ください。
  • マイクロソフトはこのプレビュー機能のサポートを提供しません。 Microsoft Dynamics 365 テクニカル サポートでは、問題や質問への対応ができません。 プレビュー機能は運用環境での使用を想定しておらず、別個の追加使用条件が適用されます。

Cosmos DB Azure とは何ですか ?

Azure Cosmos DB は、ミッションクリティカルなアプリケーションのための Microsoft のグローバル分散マルチモデル データベース サービスです。 これは、スキーマのない JSON データ全体で豊富でよく知られた SQL クエリ機能に一貫性のある低遅延を提供します。 詳細: Azure Cosmos DB の概要: SQL API

要件

  • Azure Cosmos DB を含む Azure サブスクリプション。
  • Azure Cosmos DB SQL API コレクション。
  • Azure Cosmos DB データベース タイプは SQL である必要があります。

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

次の JSON 構造を持つ受注という名前のコレクションに Azure Cosmos DB ドキュメントがあるとします。

SQL API ドキュメント用の JSON の例。

この表に、受注 コレクション内の SQL API ドキュメントの、適切なデータ タイプを用いたデータ タイプ マッピングを示します。

SQL API データ データ型
id Primary Key
名称 1 行テキスト
quantity 整数
受注 ID 1 行テキスト
受注タイプ オプション セット
金額 少数または通貨
配送済み 2 つのオプション
datetimeoffset 日時

Note

  • アンダースコア (_) 接頭辞の付いた属性は、SQL API によって生成されます。
  • SQL API ドキュメントで任意として構成され、必須項目 としてマップされている属性は、ランタイム エラーが発生する原因になります。
  • ID 属性値は GUID である必要があります。
  • SQL API での日付の使用方法の詳細については、Azure Cosmos DB での日付の操作」を参照してください。

サポートされる SQL クエリのフィルター処理

SQL クエリのフィルター処理は次の演算子をサポートします。

  • 比較演算子: <、>、<=、>=、!=
  • 論理演算子: and、or
  • 集合演算子: in、not in
  • 文字列演算子: like、contains、begins with、ends with

Note

like 演算子の使用法は、同等の contains/begins with/ends with 演算子に変換されます。 SQL API は、トピック「類似 (Transact-SQL)」で説明されているパターン引数をサポートしません。 Azure Cosmos DB SQL API Data Provider は、単一の特別なケース Like(‘[aA]%’) を BeginsWith(‘a’) または BeginsWith(‘A’) に変換できます。 SQL API の文字列比較は、大文字と小文字が区別されることに注意してください。

Azure Cosmos DB for SQL API データ プロバイダーを使用してデータ ソースを追加する

  1. AppSource に移動して、今すぐ取得を選択し、指示に従ってユーザーの環境または Dynamics 365 Customer Engagement (on-premises) またはそれ以降のインスタンスにアプリケーションを追加します。
  2. ソリューションがインストールされた後に、 環境サインインし、設定>管理>仮想エンティティ データ ソースの順に移動します。
  3. 操作ツール バーで 新規を選択して、データ プロバイダーの選択 ダイアログ ボックスで Azure Cosmos DB for SQL API データ プロバイダーを選択し、OK を選択します。 Azure Cosmos DB for SQL API データ プロバイダーを選択します。
  4. 以下の情報を入力し、保存して閉じるを選択します。
    • 名前: データ ソースを説明する名前を入力します。
    • コレクション名。 仮想エンティティで公開するコレクションを含む Azure Cosmos DB データベース コレクションの名前。
    • 認証キー。 Azure Cosmos DB アカウントの主キーまたは予備キー。 Azure Cosmos DB アカウントのキー設定の下にある Azure 管理用ポータルからキーを見つけることができます。
    • URI。 Azure Cosmos DB コレクションがあるリソース グループの URI。 URI は https://contoso/documents.azure.com:443. と同様に作成されます。 Azure Cosmos DB アカウントのキー設定の下にある Azure 管理用ポータルから URI を見つけることができます。
    • タイムアウト (秒)。 データ リクエストがタイムアウトする前に Azure Cosmos DB サービスからの応答を待機する時間を秒数で入力します。たとえば、タイムアウトが発生する前に最大 30 秒待つには、30 を入力します。 既定のタイムアウトは 120 秒です。

SQL API データ プロバイダーを使用してデータ ソースを作成します。

ベスト プラクティスと制限

  • Azure Cosmos DB をデータ ソースとして使用するときは、以下に注意します。

    • 各 Azure Cosmos DB データ ソースは、1 つの仮想エンティティにのみ関連付けることができます。
    • 複数のデータ ソースを Azure Cosmos DB 内の同じコレクションに接続できます。
  • コレクション内のデータをエンティティでセグメント化できません。

  • Azure Cosmos DB データベースはスキーマを必要としませんが、Azure Cosmos DB 内のデータは予測可能なスキーマを使用して構造化する必要があります。

  • Azure Cosmos DB for SQL API データ プロバイダーは、プロジェクション、フィルター処理、および並べ替え演算子を実装しますが、結合処理はサポートしません。

  • SQL API では、単一の列によってのみフィルタ処理できます。

関連項目

外部データ ソースからのデータを格納する仮想エンティティの作成および編集