適用於 NoSQL Java SDK 的 Azure Cosmos DB (舊版):版本資訊和資源

適用於: NoSQL

本文涵蓋適用於 NoSQL 的 API 的 Azure Cosmos DB 同步 Java SDK v2。 此 API 僅支援同步作業。

重要

這不是適用於 Azure Cosmos DB 的最新 Java SDK! 我們 強烈建議 針對您的專案使用 Azure Cosmos DB Java SDK v4 。 若要升級,請遵循遷移至 Azure Cosmos DB Java SDK v4 指南和 Reactor vs RxJava 指南中的指示。

警告

在 2024 年 2 月 29 日,Azure Cosmos DB 同步 Java SDK v2.x 將會淘汰。 淘汰后,Azure Cosmos DB 將不再為此 SDK 提供進一步的維護和支援。 請依照這裡的指示移轉至 Azure Cosmos DB Java SDK v4。

連結
SDK 下載 Maven
API 文件 Java API 參考檔
參與 SDK GitHub
開始使用 開始使用Java SDK
Web 應用程式教學課程 使用 Azure Cosmos DB 進行 Web 應用程式開發
最低支援的運行時間 Java Development Kit (JDK) 7+

版本資訊

以下是每個 SDK 版本的版本資訊。

2.6.5

  • 已移除測試相依性 com.google.guava/guava ,因為安全性弱點
  • 將相 com.fasterxml.jackson.core/jackson-databind 依性升級至 2.14.0
  • 將相 commons-codec/commons-codec 依性升級至 1.15
  • 已將相依性 org.json/json 升級至 20180130

2.6.4

  • 已修正讀取逾時重試原則

2.6.3

  • 已修正包裝在 中IllegalStateExceptionGoneException重試原則 - 此變更是確保閘道快取在410上重新整理的必要條件,因此Spark連接器 (適用於Spark 2.4) 可以使用自定義重試原則,允許查詢在分割區分割期間成功

2.6.2

  • 已新增重試原則,以在讀取逾時時重試
  • 將相 com.fasterxml.jackson.core/jackson-databind 依性升級至 2.9.10.8
  • 將相依性 org.apache.httpcomponents/httpclient 升級至 4.5.13

2.6.1

  • 已修正透過服務 Interop 處理查詢時的錯誤。

2.6.0

  • 已新增從時間點查詢變更摘要的支援。

2.5.1

  • 修正 documentCollection 查詢的主要分割區快取問題。

2.5.0

  • 已新增 449 重試自定義設定的支援。

2.4.7

  • 修正連線集區逾時問題。
  • 修正內部重試時驗證令牌重新整理。

2.4.6

  • 已更新 databaseAccount 上正確的用戶端複本原則標籤,並讓 databaseAccount 組態從快取讀取。

2.4.5

  • 如果使用者提供 pkRangeId,此版本可避免在無效的數據分割索引鍵範圍錯誤上重試

2.4.4

  • 優化的分割區索引鍵範圍快取重新整理。
  • 修正 SDK 無法從伺服器娛樂分割分割提示的案例,並導致用戶端路由快取重新整理不正確。

2.4.2

  • 優化集合快取重新整理。

2.4.1

  • 已新增從要求診斷字串擷取內部例外狀況訊息的支援。

2.4.0

  • 已介紹 PartitionKeyDefinition 上的版本 API。

2.3.0

  • 已新增直接模式的個別逾時支援。

2.2.3

  • 從服務取用 Null 錯誤訊息,併產生檔用戶端例外狀況。

2.2.2

  • 套接字連線改善,新增 SoKeepAlive 預設值 true。

2.2.0

  • 已新增要求診斷字串支援。

2.1.3

  • 已修正Hash V2的 PartitionKey 錯誤。

2.1.2

  • 已新增複合索引的支援。
  • 已修正全域端點管理員強制重新整理的錯誤。
  • 已修正直接模式中前置條件的 upsert 作業 Bug。

2.1.1

  • 已修正閘道位址快取中的 Bug。

2.1.0

  • 針對直接模式新增的多區域寫入支援。
  • 已新增從 Proxy 擲回為ServiceUnavailable例外狀況的處理IOExceptions支援。
  • 已修正端點探索重試原則中的錯誤。
  • 已修正錯誤,以確保在BaseDatabaseAccountConfigurationProvider 中不會擲回 Null 指標例外狀況。
  • 已修正錯誤,以確保QueryIterator不會傳回Null。
  • 已修正錯誤,以確保允許大型 PartitionKey。

2.0.0

  • 已新增閘道模式的多區域寫入支援。

1.16.4

  • 已修正查詢的讀取分割區索引鍵範圍中的 Bug。

1.16.3

  • 已修正在 DirectHttps 模式中設定接續令牌標頭大小的 Bug。

1.16.2

  • 已新增串流故障轉移支援。
  • 已新增自定義元數據的支援。
  • 改善的會話處理邏輯。
  • 已修正分割區索引鍵範圍快取中的 Bug。
  • NullPointerException 已修正直接模式中的 (NPE) Bug。

1.16.1

  • 已新增唯一索引的支援。
  • 已新增在摘要選項中限制接續令牌大小的支援。
  • 已修正 Json 串行化 (timestamp) 中的 Bug。
  • 已修正 Json 串行化 (列舉) 中的 Bug。
  • com.fasterxml.jackson.core:jackson-databind 相依性已升級至 2.9.5。

1.16.0

  • 已改善直接模式的 連線 集區。
  • 改善非orderby 跨分割區查詢的預先擷取改善。
  • 改善的 UUID 產生。
  • 改善會話一致性邏輯。
  • 已新增對 multipolygon 的支援。
  • 已新增集合的數據分割索引鍵範圍統計數據支援。
  • 已修正多重區域支援中的 Bug。

1.15.0

1.14.0

  • Microsoft friend 連結庫的內部變更。

1.13.0

  • 已修正讀取單一分割區索引鍵範圍的問題。
  • 已修正 ResourceID 剖析中影響名稱簡短的資料庫的問題。
  • 已修正分割區索引鍵編碼所造成的問題。

1.12.0

  • 在分割區分割期間要求處理的重要錯誤修正。
  • 已修正強式和 BoundedStaleness 一致性層級的問題。

1.11.0

  • 已新增名為 ConsistencPrefix 的新一致性層級支援。
  • 已修正會話模式中讀取集合中的 Bug。

1.10.0

  • 啟用數據分割集合的支援,其最低為 2,500 RU/秒,並以 100 RU/秒的增量縮放。
  • 修正原生元件中的 Bug,這可能會在某些查詢中造成 NullRef 例外狀況。

1.9.6

  • 已修正查詢引擎組態中可能導致閘道模式中查詢例外狀況的錯誤。
  • 已修正會話容器中的一些錯誤,可能會導致集合建立後立即發生要求的「擁有者資源找不到」例外狀況。

1.9.5

  • 已新增匯總查詢的支援(COUNT、MIN、MAX、SUM 和AVG)。
  • 已新增變更摘要的支援。
  • 已新增透過 RequestOptions.setPopulateQuotaInfo 收集配額信息的支援。
  • 已新增透過 RequestOptions.setScriptLoggingEnabled 的預存程式腳本記錄支援。
  • 已修正 DirectHttps 模式中的查詢在遇到節流失敗時可能會停止回應的錯誤。
  • 已修正會話一致性模式中的 Bug。
  • 修正錯誤,當要求速率很高時,可能會導致 HttpContext 中的 NullReferenceException。
  • 改善 DirectHttps 模式的效能。

1.9.4

  • 已使用 連線 ionPolicy.setProxy() API 新增簡單的用戶端實例型 Proxy 支援。
  • 已新增 DocumentClient.close() API,以正確關閉 DocumentClient 實例。
  • 藉由從原生元件衍生查詢計劃,而不是閘道,以改善直接連線模式中的查詢效能。
  • 設定FAIL_ON_UNKNOWN_PROPERTIES = false,讓使用者不需要在其純舊 Java 物件 (POJO) 中定義 JsonIgnoreProperties。
  • 重構記錄以使用 SLF4J。
  • 已修正一致性讀取器中的其他幾個錯誤。

1.9.3

  • 已修正連線管理中的 Bug,以防止直接連線模式中的連線外洩。
  • 已修正 TOP 查詢中可能會擲回 NullReference 例外狀況的錯誤。
  • 藉由減少內部快取的網路呼叫數目來改善效能。
  • 已在 DocumentClientException 中新增狀態代碼、ActivityID 和要求 URI,以取得更佳的疑難解答。

1.9.2

  • 已修正連線管理中穩定性的問題。

1.9.1

  • 已新增 BoundedStaleness 一致性層級的支援。
  • 已新增對已分割集合之 CRUD 作業的直接連線支援。
  • 已修正使用 SQL 查詢資料庫時的錯誤。
  • 已修正會話快取中的錯誤,其中會話令牌可能設定不正確。

1.9.0

  • 已新增跨分割區平行查詢的支援。
  • 已新增數據分割集合的 TOP/ORDER BY 查詢支援。
  • 已新增強式一致性的支援。
  • 已新增使用直接連線時的名稱型要求支援。
  • 已修正讓 ActivityId 在所有要求重試期間保持一致。
  • 已修正以相同名稱重新建立集合時與會話快取相關的 Bug。
  • 新增 Polygon 和 LineString DataTypes,同時指定地理隔離空間查詢的集合索引編製原則。
  • 已修正 Java Doc for Java 1.8 的問題。

1.8.1

  • 已修正 PartitionKeyDefinitionMap 中的 Bug,以快取單一分割區集合,而不會提出額外的擷取分割區索引鍵要求。
  • 已修正提供不正確的分割區索引鍵值時,無法重試的錯誤。

1.8.0

  • 已新增多重區域資料庫帳戶的支援。
  • 已新增對節流要求自動重試的支援,選項可自定義重試次數上限和重試等候時間上限。 如需詳細資訊,請參閱 RetryOptions 和 連線 ionPolicy.getRetryOptions()。
  • 已淘汰的 IPartitionResolver 型自定義數據分割程序代碼。 針對較高的記憶體和輸送量使用分割集合。

1.7.1

  • 已新增速率限制的重試原則支援。

1.7.0

  • 已新增檔案存留時間 (TTL) 支援。

1.6.0

1.5.1

  • 修正 HashPartitionResolver 中的 Bug,以在小端產生哈希值,以與其他軟體開發工具包 (SDK) 一致。

1.5.0

  • 新增哈希和範圍分割解析程式,以協助跨多個分割區分區化應用程式。

1.4.0

  • 實作 Upsert。 新增新的 upsertXXX 方法,以支援 Upsert 功能。
  • 實作標識碼型路由。 沒有公用 API 變更,所有變更都是內部的。

1.3.0

  • 略過版本以讓版本號碼與其他 SDK 保持一致

1.2.0

  • 支援地理空間索引。
  • 驗證所有資源的標識碼屬性。 資源的標識碼不能包含 ?/#、、 \、字元或結尾的空格。
  • 將新的標頭「索引轉換進度」新增至 ResourceResponse。

1.1.0

  • 實作 V2 索引編製原則

1.0.0

  • GA SDK

發行和淘汰日期

Microsoft 至少 會在淘汰 SDK 前 12 個月 提供通知,以順利轉換至較新的/支援版本。 新功能和優化只會新增至目前的 SDK。 我們建議您一律儘早升級至最新的 SDK 版本。

警告

2020 年 30 月 30 日之後,Azure Cosmos DB 將不再進行 Bug 修正、新增新功能,以及支援適用於 NoSQL 的 Azure Cosmos DB Java SDK for API 1.x 版。 如果您還不想升級,Azure Cosmos DB 服務會繼續處理從 1.x 版 SDK 傳送的要求。

2016 年 2 月 29 日之後,Azure Cosmos DB 將不再進行錯誤修正、新增新功能,以及支援適用於 NoSQL 的 Azure Cosmos DB Java SDK for API 0.x 版。 如果您不想升級,從 SDK 0.x 版傳送的要求將繼續由 Azure Cosmos DB 服務提供服務。

版本 發行日期 退場日期
2.6.1 2020 年 12 月 17 日 2024年2月29日
2.6.0 2020 年 7 月 16 日 2024年2月29日
2.5.1 2020 年 6 月 3 日 2024年2月29日
2.5.0 2020 年 5 月 12 日 2024年2月29日
2.4.7 2020 年 2 月 20 日 2024年2月29日
2.4.6 2020 年 1 月 24 日 2024年2月29日
2.4.5 2019年11月10日 2024年2月29日
2.4.4 2019年10月24日 2024年2月29日
2.4.2 2019年9月26日 2024年2月29日
2.4.1 2019年7月18日 2024年2月29日
2.4.0 2019 年 5 月 4 日 2024年2月29日
2.3.0 2019年4月24日 2024年2月29日
2.2.3 2019年4月16日 2024年2月29日
2.2.2 2019年4月5日 2024年2月29日
2.2.0 2019年3月27日 2024年2月29日
2.1.3 2019年3月13日 2024年2月29日
2.1.2 2019 年 3 月 9 日 2024年2月29日
2.1.1 2018 年 12 月 13 日 2024年2月29日
2.1.0 2018 年 11 月 20 日 2024年2月29日
2.0.0 2018 年 9 月 21 日 2024年2月29日
1.16.4 2018 年 9 月 10 日 2020 年 5 月 30 日
1.16.3 2018 年 9 月 9 日 2020 年 5 月 30 日
1.16.2 2018 年 6 月 29 日 2020 年 5 月 30 日
1.16.1 2018 年 5 月 16 日 2020 年 5 月 30 日
1.16.0 2018 年 3 月 15 日 2020 年 5 月 30 日
1.15.0 2017年11月14日 2020 年 5 月 30 日
1.14.0 2017年10月28日 2020 年 5 月 30 日
1.13.0 2017年8月25日 2020 年 5 月 30 日
1.12.0 2017 年 7 月 11 日 2020 年 5 月 30 日
1.11.0 2017 年 5 月 10 日 2020 年 5 月 30 日
1.10.0 2017 年 3 月 11 日 2020 年 5 月 30 日
1.9.6 2017年2月21日 2020 年 5 月 30 日
1.9.5 2017年1月31日 2020 年 5 月 30 日
1.9.4 2016年11月24日 2020 年 5 月 30 日
1.9.3 2016年10月30日 2020 年 5 月 30 日
1.9.2 2016年10月28日 2020 年 5 月 30 日
1.9.1 2016年10月26日 2020 年 5 月 30 日
1.9.0 2016年10月3日 2020 年 5 月 30 日
1.8.1 2016年6月30日 2020 年 5 月 30 日
1.8.0 2016年6月14日 2020 年 5 月 30 日
1.7.1 2016年4月30日 2020 年 5 月 30 日
1.7.0 2016年4月27日 2020 年 5 月 30 日
1.6.0 2016年3月29日 2020 年 5 月 30 日
1.5.1 2015 年 12 月 31 日 2020 年 5 月 30 日
1.5.0 2015年12月4日 2020 年 5 月 30 日
1.4.0 2015年10月5日 2020 年 5 月 30 日
1.3.0 2015年10月5日 2020 年 5 月 30 日
1.2.0 2015年8月5日 2020 年 5 月 30 日
1.1.0 2015年7月9日 2020 年 5 月 30 日
1.0.1 2015年5月12日 2020 年 5 月 30 日
1.0.0 2015年4月7日 2020 年 5 月 30 日
0.9.5-prelease 2015年3月9日 2016年2月29日
0.9.4-prelease 2015年2月17日 2016年2月29日
0.9.3-prelease 2015 年 1 月 13 日 2016年2月29日
0.9.2-prelease 2014年12月19日 2016年2月29日
0.9.1-prelease 2014年12月19日 2016年2月29日
0.9.0-prelease 2014年12月10日 2016年2月29日

常見問題集

如何收到即將淘汰 SDK 的通知?

Microsoft 會在淘汰 SDK 終止支援之前提供 12 個月的提前通知,以利順利轉換至支援的 SDK。 我們會透過各種通道通知您:Azure 入口網站、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 或連接器。 如果不支援您想要新增的功能,請將意見反應新增至我們的 社群論壇