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 ドキュメントの、適切なデータ タイプを用いたデータ タイプ マッピングを示します。
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 データ プロバイダーを使用してデータ ソースを追加する
- AppSource に移動して、今すぐ取得を選択し、指示に従ってユーザーの環境または Dynamics 365 Customer Engagement (on-premises) またはそれ以降のインスタンスにアプリケーションを追加します。
- ソリューションがインストールされた後に、 環境サインインし、設定>管理>仮想エンティティ データ ソースの順に移動します。
- 操作ツール バーで 新規を選択して、データ プロバイダーの選択 ダイアログ ボックスで Azure Cosmos DB for SQL API データ プロバイダーを選択し、OK を選択します。
- 以下の情報を入力し、保存して閉じるを選択します。
- 名前: データ ソースを説明する名前を入力します。
- コレクション名。 仮想エンティティで公開するコレクションを含む 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 秒です。
ベスト プラクティスと制限
Azure Cosmos DB をデータ ソースとして使用するときは、以下に注意します。
- 各 Azure Cosmos DB データ ソースは、1 つの仮想エンティティにのみ関連付けることができます。
- 複数のデータ ソースを Azure Cosmos DB 内の同じコレクションに接続できます。
コレクション内のデータをエンティティでセグメント化できません。
Azure Cosmos DB データベースはスキーマを必要としませんが、Azure Cosmos DB 内のデータは予測可能なスキーマを使用して構造化する必要があります。
Azure Cosmos DB for SQL API データ プロバイダーは、プロジェクション、フィルター処理、および並べ替え演算子を実装しますが、結合処理はサポートしません。
SQL API では、単一の列によってのみフィルタ処理できます。