Azure Cosmos DB for NoSQL: Spring Data Azure Cosmos DB v5 の例
適用対象: NoSQL
重要
これらのリリース ノートは、Spring Data Azure Cosmos DB のバージョン 5 に関するものです。 バージョン 3 のリリース ノートについてはこちらを、バージョン 2 についてはこちらを参照してください。
Spring Data Azure Cosmos DB では、NoSQL 用 API のみがサポートされます。
他の Azure Cosmos DB API での Spring Data については、次の記事を参照してください。
重要
Azure サブスクリプションをお持ちでない場合は、開始する前に Azure 無料アカウントを作成してください。
- Visual Studio サブスクライバーの特典を有効にすることができます。Visual Studio サブスクリプションにより、有料の Azure サービスで使用できるクレジットが毎月提供されます。
Azure サブスクリプション不要で、契約もなしで Azure Cosmos DB を無料で試すことができます。 または、Azure Cosmos DB Free レベルのアカウントを作成して、最初の 1000 RU/秒と 25 GB のストレージを無料でご利用いただけます。 また、URI https://localhost:8081
で Azure Cosmos DB エミュレーターを使用することもできます。 エミュレーターで使用するキーについては、「要求の認証」を参照してください。
Azure Cosmos DB リソースに対する CRUD 操作などの一般的な操作を実行する最新のサンプル アプリケーションは、azure-spring-boot-samples GitHub リポジトリにあります。 この記事では、次の内容について説明します。
- 各サンプル Spring Data Azure Cosmos DB プロジェクト ファイルのタスクへのリンク。
- 関連する API リファレンス コンテンツへのリンク。
前提条件
このサンプル アプリケーションを実行するには、次のものが必要です。
- Java Development Kit 8
- Spring Data Azure Cosmos DB v5
プロジェクトで使用する最新の Spring Data Azure Cosmos DB v3 バイナリが必要な場合は、Maven を使用して取得することもできます。 必要な依存関係は Maven によって自動的に追加されます。 または、pom.xml ファイルに一覧表示されている依存関係を直接ダウンロードして、ビルドのパスに追加することもできます。
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-spring-data-cosmos</artifactId>
<version>LATEST</version>
</dependency>
サンプル アプリケーションの実行
サンプル リポジトリを複製します。
$ git clone https://github.com/Azure-Samples/azure-spring-boot-samples
$ cd cosmos/azure-spring-data-cosmos/spring3-samples/cosmos-quickstart-samples
サンプルは、IDE (Eclipse、IntelliJ、または VS Code) を使用して実行することも、Maven を使用してコマンド ラインから実行することもできます。
application.properties でこれらの環境変数を設定して、
cosmos.uri=${ACCOUNT_HOST}
cosmos.key=${ACCOUNT_KEY}
cosmos.secondaryKey=${SECONDARY_ACCOUNT_KEY}
dynamic.collection.name=spel-property-collection
# Populate query metrics
cosmos.queryMetricsEnabled=true
サンプルにアカウント、データベース、コンテナーへの読み取り/書き込みアクセス権を付与する必要があります。
ご使用の IDE に、Spring Data のサンプル コードを実行する機能が備わっている場合があります。 それ以外の場合は、次のターミナル コマンドを使用してサンプルを実行できます。
mvn spring-boot:run
ドキュメントの CRUD のサンプル
このサンプル ファイルは、次のタスクを実行する方法を示しています。 以下のサンプルを実行する前に、Azure Cosmos DB のドキュメントについて知るために、データベース、コンテナー、アイテムの操作に関する概念記事を参照してください。
タスク | API リファレンス |
---|---|
ドキュメントの作成 | CosmosRepository.save |
ID でのドキュメントの読み取り | CosmosRepository.derivedQueryMethod |
すべてのドキュメントの削除 | CosmosRepository.deleteAll |
派生クエリ メソッドのサンプル
このサンプル ファイルは、次のタスクを実行する方法を示しています。 以下のサンプルを実行する前に、Azure Cosmos DB クエリについて知るために、Baeldung の「Derived Query Methods in Spring」 (Spring での派生クエリ メソッド)の記事を参照してください。
| ドキュメントのクエリ | CosmosRepository.derivedQueryMethod |
カスタム クエリのサンプル
このサンプル ファイルは、SQL クエリ文法を使用して次のタスクを実行する方法を示しています。 以下のサンプルを実行する前に Azure Cosmos DB の SQL クエリ リファレンスについて知るために、「Azure Cosmos DB の SQL クエリの例」を参照してください。
タスク | API リファレンス |
---|---|
すべてのドキュメントのクエリ | @Query 注釈 |
= = を使用する等値のクエリ | @Query 注釈 |
!= と NOT を使用する非等値のクエリ | @Query 注釈 |
>、<、>=、<= などの範囲演算子を使用するクエリ | @Query 注釈 |
文字列に対して範囲演算子を使用するクエリ | @Query 注釈 |
Order By を使用するクエリ | @Query 注釈 |
DISTINCT を使用するクエリ | @Query 注釈 |
集計関数を使用するクエリ | @Query 注釈 |
サブドキュメントの操作 | @Query 注釈 |
ドキュメント間結合を使用するクエリ | @Query 注釈 |
文字列、数値、および配列の演算子を使用するクエリ | @Query 注釈 |
次のステップ
Azure Cosmos DB への移行のための容量計画を実行しようとしていますか? 容量計画のために、既存のデータベース クラスターに関する情報を使用できます。
- 既存のデータベース クラスター内の仮想コアとサーバーの数のみがわかっている場合は、仮想コア数または仮想 CPU 数を使用した要求ユニットの見積もりに関するページを参照してください
- 現在のデータベース ワークロードに対する通常の要求レートがわかっている場合は、Azure Cosmos DB Capacity Planner を使用した要求ユニットの見積もりに関するページを参照してください