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 無料アカウントを作成してください。

Azure サブスクリプション不要で、契約もなしで Azure Cosmos DB を無料で試すことができます。 または、Azure Cosmos DB Free レベルのアカウントを作成して、最初の 1000 RU/秒と 25 GB のストレージを無料でご利用いただけます。 また、URI https://localhost:8081Azure 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 への移行のための容量計画を実行しようとしていますか? 容量計画のために、既存のデータベース クラスターに関する情報を使用できます。