NoSQL 用 API 向けの Spring Data Azure Cosmos DB v2 (レガシ): リリース ノートとリソース

適用対象: NoSQL

NoSQL 用 Spring Data Azure Cosmos DB バージョン 2 により、開発者は Spring アプリケーションで Azure Cosmos DB を使用できます。 Spring Data Azure Cosmos DB では、データベースとコレクションの操作、ドキュメントの操作、クエリの発行を行うための Spring Data インターフェイスが公開されています。 同期 API と非同期 (リアクティブ) API の両方とも、同じ Maven 成果物でサポートされています。

警告

このバージョンの Spring Data Azure Cosmos DB SDK は、廃止されたバージョンの Azure Cosmos DB Java SDK に依存しています。 この Spring Data Azure Cosmos DB SDK は、近い将来廃止が発表される予定です。 これは Azure Cosmos DB 用の最新の Azure Spring Data Azure Cosmos DB SDK "ではなく"、古くなっています。 Azure Spring Data Azure Cosmos DB SDK V2 ではパフォーマンスの問題と不安定性があるため、プロジェクトには Azure Spring Data Azure Cosmos DB v3 を使用することを強くお勧めします。 アップグレードするには、Azure Cosmos DB Java SDK v4 への移行に関するガイドの手順に従って、基になる Java SDK V4 での違いについて理解してください。

Spring Framework は、Java アプリケーション開発を効率化するプログラミングおよび構成モデルです。 Spring では依存関係の挿入を使用して、アプリケーションの "プラミング" が効率化されます。 アプリケーションの構築とテストが簡潔になるため、多くの開発者が Spring を好んでいます。 Spring Boot は、Web アプリとマイクロサービスの開発を目的として、このプラミングの処理を拡張したものです。 Spring Data は、Spring または Spring Boot アプリケーションのコンテキストから Azure Cosmos DB などのデータストアにアクセスするためのプログラミング モデルです。

Spring Data Azure Cosmos DB は、Azure Spring Apps でホストされているアプリケーションで使用できます。

重要

これらのリリース ノートは、Spring Data Azure Cosmos DB のバージョン 2 に関するものです。 バージョン 3 のリリース ノートについてはこちらを参照してください。

Spring Data Azure Cosmos DB では、NoSQL 用 API のみがサポートされます。

他の Azure Cosmos DB API での Spring Data については、次の記事を参照してください。

急いでいますか?

  1. この SDK を使用できるように、サポートされている最小 Java ランタイムの JDK 8 をインストールします。
  2. スターターを使用して Spring Data Azure Cosmos DB アプリを作成します。 これは簡単にできます。
  3. 基本的な Azure Cosmos DB の要求について説明している「Spring Data Azure Cosmos DB 開発者ガイド」を参照します。

Spring Boot Starter アプリは、Spring Initializr によってすぐに利用できます。

参照情報

リソース Link
SDK のダウンロード Maven
API ドキュメント Spring Data Azure Cosmos DB リファレンス ドキュメント
SDK に投稿する GitHub の Spring Data Azure Cosmos DB リポジトリ
Spring Boot Starter Java 用 Azure Cosmos DB Spring Boot Starter クライアント ライブラリ
開発者ガイド Spring Data Azure Cosmos DB 開発者ガイド
Starter の使用 Azure Cosmos DB for NoSQL で Spring Boot Starter を使用する方法
Azure Cosmos DB Spring Boot Starter の GitHub リポジトリ
Azure App Service によるサンプル App Service on Linux で Spring と Azure Cosmos DB を使用する方法

リリース履歴

2.3.0 (2020 年 5 月 21 日)

新機能

  • Spring Boot のバージョンを 2.3.0 に更新。

2.2.5 (2020 年 5 月 19 日)

新機能

  • Azure Cosmos DB バージョンを 3.7.3 に更新。

主要なバグ修正

  • Azure Cosmos DB SDK 3.7.3 からのメモリ リークの修正と Netty のバージョンのアップグレードを含む。

2.2.4 (2020 年 4 月 6 日)

主要なバグ修正

  • CosmosDbConfig を考慮するように allowTelemetry フラグを修正。
  • コンテナーの TTL プロパティを修正。

2.2.3 (2020 年 2 月 25 日)

新機能

  • パーティション キー API による新しい findAll を追加。
  • Azure Cosmos DB バージョンを 3.7.0 に更新。

主要なバグ修正

  • collectionName から containerName への修正。
  • entityClass および domainClass から domainType への修正。
  • "入力エンティティの代わりにリポジトリによって保存されたエンティティ コレクションを返す" を修正。

2.1.10 (2020 年 2 月 25 日)

主要なバグ修正

  • "入力エンティティの代わりにリポジトリによって保存されたエンティティ コレクションを返す" の修正を移植。

2.2.2 (2020 年 1 月 15 日)

新機能

  • Azure Cosmos DB バージョンを 3.6.0 に更新。

主要なバグ修正

2.2.1 (2019 年 12 月 31 日)

新機能

  • Azure Cosmos DB SDK バージョンを 3.5.0 に更新。
  • 自動コレクション作成を有効または無効にする注釈フィールドを追加。
  • 例外処理を改善。 CosmosDBAccessException を介して CosmosClientException を公開。
  • ResponseDiagnostics を介して requestChargeactivityId を公開。

主要なバグ修正

  • SDK 3.5.0 更新プログラムで "Azure Cosmos DB HTTP 応答ヘッダーが 8192 バイトを超えた場合の例外"、"ConsistencyPolicy.defaultConsistencyLevel() は有界整合性制約および一貫性のあるプレフィックスで失敗する" を修正。
  • findById メソッドの動作を修正。 以前は、エンティティが見つからなかった場合、例外をスローする代わりに、このメソッドは空の戻り値を返していました。
  • CosmosPageRequest を使用した場合に次のページに並べ替えが適用されないバグを修正。

2.1.9 (2019 年 12 月 26 日)

新機能

  • 自動コレクション作成を有効または無効にする注釈フィールドを追加。

主要なバグ修正

  • findById メソッドの動作を修正。 以前は、エンティティが見つからなかった場合、例外をスローする代わりに、このメソッドは空の戻り値を返していました。

2.2.0 (2019 年 10 月 21 日)

新機能

  • Reactive Azure Cosmos DB Repository の完全なサポート。
  • Azure Cosmos DB の要求診断文字列とクエリ メトリックのサポート。
  • Azure Cosmos DB SDK バージョンを 3.3.1 に更新。
  • Spring Framework バージョンを 5.2.0.RELEASE にアップグレード。
  • Spring Data Commons バージョンを 2.2.0.RELEASE にアップグレード。
  • findByIdAndPartitionKey および deleteByIdAndPartitionKey API を追加。
  • azure-doumentdb から依存関係を削除。
  • DocumentDB を Azure Cosmos DB に再ブランド化。

主要なバグ修正

  • "PageSize がリポジトリ内の合計の項目数未満の場合に、並べ替えで例外がスローされる" を修正。

2.1.8 (2019 年 10 月 18 日)

新機能

  • DocumentDB API の非推奨。
  • findByIdAndPartitionKey および deleteByIdAndPartitionKey API を追加。
  • _etag に基づくオプティミスティック ロックを追加。
  • ドキュメント コレクション名での SpEL 表現を有効化。
  • ObjectMapper の機能強化を追加。

2.1.7 (2019 年 10 月 18 日)

新機能

  • Azure Cosmos DB SDK バージョン 3 の依存関係を追加。
  • Reactive Azure Cosmos DB Repository を追加しました。
  • Azure Cosmos DB SDK バージョン 3 を使用するように DocumentDbTemplate の実装を更新。
  • リアクティブ Azure Cosmos DB リポジトリをサポートするためのその他の構成変更を追加。

2.1.2 (2019 年 3 月 19 日)

主要なバグ修正

  • 次の applicationInsights の依存関係を削除。
    • 依存関係の汚染の可能性のあるリスク。
    • Java 11 の非互換性。
    • CPU やメモリへの潜在的なパフォーマンスの影響の回避。

2.0.7 (2019 年 3 月 20 日)

主要なバグ修正

  • 次の applicationInsights の依存関係を移植。
    • 依存関係の汚染の可能性のあるリスク。
    • Java 11 の非互換性。
    • CPU やメモリへの潜在的なパフォーマンスの影響の回避。

2.1.1 (2019 年 3 月 7 日)

新機能

  • メイン バージョンを 2.1.1 に更新。

2.0.6 (2019 年 3 月 7 日)

新機能

  • テレメトリからのすべての例外を無視。

2.1.0 (2018 年 12 月 17 日)

新機能

  • 問題に対処するためにバージョンを 2.1.0 に更新。

2.0.5 (2018 年 9 月 13 日)

新機能

  • キーワード existsstartsWith を追加。
  • Readme を更新。

主要なバグ修正

  • "エンティティに対して self href を直接呼び出すことができない" を修正。
  • "コレクションが作成されていない場合、findAll が失敗する" を修正。

2.0.4 (プレリリース) (2018 年 8 月 23 日)

新機能

  • パッケージ名を documentdb から cosmosdb に変更。
  • クエリ メソッド キーワードの新機能を追加。 NoSQL 用 API の 16 個のキーワードがサポートされるようになりました。
  • ページングと並べ替えによるクエリの新機能を追加。
  • spring-data-cosmosdb の構成を簡略化。
  • deleteCollection および deleteAll API を追加。

主要なバグ修正

  • バグの修正と欠陥の軽減策。

よく寄せられる質問

SDK の提供終了はどのような方法で通知されますか?

サポートされる SDK に速やかに移行できるように、提供終了となる SDK のサポート終了は 12 か月前に通知されます。 さらに、Azure portal、Azure の更新情報、担当サービス管理者への直接連絡など、さまざまな連絡手段で通知します。

その 12 か月間、提供終了予定の Azure Cosmos DB SDK でアプリケーションを作成できますか?

はい。12 か月の通知期間中も、提供終了予定の Azure Cosmos DB SDK でアプリケーションを作成、デプロイ、変更することができます。 この 12 か月の通知期間中、適宜、新しくサポートされるバージョンの Azure Cosmos DB SDK に移行することが推奨されます。

提供終了日以降、サポートされていない Azure Cosmos DB SDK を使用するアプリケーションはどうなりますか?

提供終了日以降、Azure Cosmos DB により、提供終了になった SDK のバージョンに対してバグ修正、新機能の追加、サポートの提供は行われません。 アップグレードしない場合でも、提供終了になった SDK のバージョンから送信される要求は、引き続き Azure Cosmos DB サービスによって処理されます。

最新の機能と更新プログラムがあるのは、どの SDK バージョンですか?

新機能と更新プログラムは、サポートされている最新の SDK のメジャー バージョンの最新のマイナー バージョンにのみ追加されます。 新機能、パフォーマンスの向上、バグ修正を利用するには、常に最新バージョンを使用することをお勧めします。 提供終了していない古いバージョンの SDK を利用している場合、Azure Cosmos DB への要求は引き続き機能しますが、新しい機能にはアクセスできません。

期限前にアプリケーションを更新できない場合、どうすればよいですか?

可能な限り早く最新の SDK にアップグレードすることが推奨されます。 SDK が提供終了予定になると、アプリケーションを更新するために 12 か月が与えられます。 提供終了日までに更新できない場合、提供終了になったバージョンの SDK から送信された要求は引き続き Azure Cosmos DB によって処理されるため、実行中のアプリケーションは引き続き機能します。 ただし、Azure Cosmos DB では、提供終了になった SDK のバージョンに対してバグ修正、新機能の追加、サポートの提供は行われません。

サポート プランをお持ちでテクニカル サポートが必要な場合は、サポート チケットを提出して、お問い合わせください

SDK またはコネクタへの機能の追加リクエストはどのようにして行えばよいですか?

すべての SDK またはコネクタに新機能がすぐ追加されるとは限りません。 サポートされていない機能の追加を希望する場合は、コミュニティ フォーラムにフィードバックをお寄せください。

次のステップ

Azure Cosmos DB の詳細をご覧ください。

Spring Framework の詳細を確認してください。

Spring Boot の詳細を確認してください。

Spring Data の詳細を確認してください。