Azure Cosmos DB für NoSQL Java SDK (Legacy): Versionshinweise und Ressourcen

GILT FÜR: NoSQL

In diesem Artikel wird das Azure Cosmos DB Sync Java SDK v2 für die API für NoSQL behandelt. Diese API unterstützt nur synchrone Vorgänge.

Wichtig

Dies ist nicht das neueste Java SDK für Azure Cosmos DB! Wir empfehlen dringend die Verwendung von Azure Cosmos DB Java SDK v4 für Ihr Projekt. Befolgen Sie für ein Upgrade die Anweisungen in den Anleitungen Migrieren zum Azure Cosmos DB Java SDK v4 und Gegenüberstellung von Reactor und RxJava.

Warnung

Am 29. Februar 2024 wird das Azure Cosmos DB Sync Java SDK v2.x eingestellt. Azure Cosmos DB stellt nach der Einstellung keine weitere Wartung und Unterstützung mehr für dieses SDK bereit. Befolgen Sie hier die Anweisungen, um zu Azure Cosmos DB Java SDK v4 zu migrieren.

Links
SDK-Download Maven
API-Dokumentation Java-API-Referenzdokumentation
Am SDK mitwirken GitHub
Erste Schritte Erste Schritte mit dem Java SDK
Web-App-Tutorial Entwicklung von Webanwendungen mit Azure Cosmos DB
Unterstützte Mindestlaufzeit Java Development Kit (JDK) 7+

Versionshinweise

Hier sehen Sie die Versionshinweise für jede Version des SDK.

2.6.5

  • Testabhängigkeit com.google.guava/guava aufgrund von Sicherheitsrisiken entfernt
  • Abhängigkeit com.fasterxml.jackson.core/jackson-databind auf 2.14.0 aktualisiert
  • Abhängigkeit commons-codec/commons-codec auf 1.15 aktualisiert
  • Abhängigkeit org.json/json auf 20180130 aktualisiert

2.6.4

  • Wiederholungsrichtlinie für Lesetimeouts korrigiert

2.6.3

  • Korrektur der Wiederholungsrichtlinie, wenn GoneException von IllegalStateException umschlossen ist: Diese Änderung ist erforderlich, um sicherzustellen, dass der Gatewaycache auf 410 aktualisiert wird, damit der Spark-Connector (für Spark 2.4) eine benutzerdefinierte Wiederholungsrichtlinie verwenden kann, damit Abfragen während der Partitionsteilung erfolgreich sind.

2.6.2

  • Neue Wiederholungsrichtlinie für Wiederholungsversuche bei Lesezeitüberschreitungen hinzugefügt
  • Abhängigkeit auf com.fasterxml.jackson.core/jackson-databind 2.9.10.8 aktualisiert
  • Abhängigkeit auf org.apache.httpcomponents/httpclient 4.5.13 aktualisiert

2.6.1

  • Es wurde ein Fehler bei der Verarbeitung einer Abfrage durch Dienstinteroperabilität behoben.

2.6.0

  • Unterstützung für das Abfragen des Änderungsfeeds zu einem bestimmten Zeitpunkt wurde hinzugefügt.

2.5.1

  • Behebt ein Cacheproblem der primären Partition in einer documentCollection-Abfrage.

2.5.0

  • Unterstützung für die benutzerdefinierte Konfiguration von 449-Wiederholungsmeldungen.

2.4.7

  • Korrektur des Timeoutproblem für den Verbindungspool
  • Korrektur der Aktualisierung des Authentifizierungstokens bei internen Wiederholungen

2.4.6

  • Korrektes clientseitiges Replikatrichtlinientag für „databaseAccount“ aktualisiert und Lesevorgänge für „databaseAccount“-Konfiguration aus dem Cache durchgeführt.

2.4.5

  • Wenn der Benutzer pkRangeId bereitstellt, verhindert diese Version den Wiederholungsfehler für ungültigen Partitionsschlüsselbereich.

2.4.4

  • Optimierter Partitionsschlüssel-Bereichscache aktualisiert.
  • Behebt das Szenario, bei dem das SDK keinen Hinweis auf die Partitionsaufteilung vom Server enthält und zu einer falschen Aktualisierung der clientseitigen Routingcaches führt.

2.4.2

  • Optimierter Sammlungscache aktualisiert.

2.4.1

  • Unterstützung hinzugefügt, um innere Ausnahmemeldung aus Anforderungsdiagnose-Zeichenfolge abzurufen.

2.4.0

  • Versions-API für PartitionKeyDefinition eingeführt.

2.3.0

  • Separate Timeoutunterstützung für den direkten Modus hinzugefügt.

2.2.3

  • Verbrauch von Null-Fehlermeldungen aus dem Dienst und Erzeugung von Dokumentclientausnahmen.

2.2.2

  • Socketverbindung verbessert, SoKeepAlive standardmäßig „true“ hinzugefügt.

2.2.0

  • Unterstützung für Anforderungsdiagnose-Zeichenfolge hinzugefügt.

2.1.3

  • Fehler in PartitionKey für Hash V2 behoben.

2.1.2

  • Unterstützung für zusammengesetzte Indizes hinzugefügt.
  • Fehler im globalen Endpunkt-Manager beim Erzwingen von Aktualisierungen behoben.
  • Ein Fehler für Upsert-Vorgänge mit Vorbedingungen im direkten Modus wurde behoben.

2.1.1

  • Fehler im Gatewayadresscache behoben.

2.1.0

  • Unterstützung für mehrere Regionen wird für den direkten Modus hinzugefügt.
  • Unterstützung für die Behandlung IOExceptions , die als Ausnahmen ausgelöst wird, wurde von ServiceUnavailable einem Proxy hinzugefügt.
  • Fehler in der Wiederholungsrichtlinie für die Endpunktermittlung behoben.
  • Ein Fehler wurde behoben, um sicherzustellen, dass Nullzeiger-Ausnahmen nicht in BaseDatabaseAccountConfigurationProvider ausgelöst werden.
  • Ein Fehler wurde behoben, um sicherzustellen, dass QueryIterator keine NULL-Werte zurückgibt.
  • Ein Fehler wurde behoben, um sicherzustellen, dass großer PartitionKey zulässig ist.

2.0.0

  • Unterstützung für mehrere Regionen wird für den Gatewaymodus hinzugefügt.

1.16.4

  • Fehler in „Lesen der Partitionsschlüsselbereiche“ für eine Abfrage behoben.

1.16.3

  • Fehler beim Festlegen der Fortsetzungstoken-Headergröße im Modus „DirectHttps“ behoben.

1.16.2

  • Unterstützung für Streamingfailover hinzugefügt.
  • Unterstützung von benutzerdefinierten Metadaten hinzugefügt.
  • Verbesserte Sitzungsbehandlungslogik.
  • Einen Fehler im Partitionsschlüssel-Bereichscache behoben.
  • Ein NullPointerException NPE-Fehler im direkten Modus wurde behoben.

1.16.1

  • Unterstützung für den eindeutigen Index wurde hinzugefügt.
  • Unterstützung für die Begrenzung der Größe von Fortsetzungstoken in Feedoptionen wurde hinzugefügt.
  • Fehler in der JSON-Serialisierung (Zeitstempel) wurde behoben.
  • Fehler in der JSON-Serialisierung (Enumeration) wurde behoben.
  • Abhängigkeit von com.fasterxml.jackson.core:jackson-databind wurde auf 2.9.5 aktualisiert.

1.16.0

  • Verbindungspooling für direkten Modus wurde verbessert.
  • Verbesserte Prefetch-Verbesserung für nicht anordnendliche partitionsübergreifende Abfrage.
  • UUID-Generierung wurde verbessert.
  • Sitzungskonsistenzlogik wurde verbessert.
  • Unterstützung für Multipolygon wurde hinzugefügt.
  • Unterstützung für die Statistik des Partitionsschlüsselbereichs für die Sammlung wurde hinzugefügt.
  • Fehler bei der Unterstützung für mehrere Regionen wurde behoben.

1.15.0

  • Leistung bei der JSON-Serialisierung wurde verbessert.
  • Für dieses SDK muss die neueste Version des Azure Cosmos DB-Emulators vorhanden sein.

1.14.0

  • Interne Änderungen für Friend-Bibliotheken von Microsoft.

1.13.0

  • Ein Problem beim Lesen der Schlüsselbereiche einer einzelnen Partition wurde behoben.
  • Ein Problem bei der „ResourceID“-Analyse, das sich auf Datenbank mit Kurznamen auswirkt, wurde behoben.
  • Ein Problem, das durch die Codierung des Partitionsschlüssels verursacht wurde, wurde beseitigt.

1.12.0

  • Wichtige Fehlerbehebungen für die Anforderungsverarbeitung während Partitionsaufteilungen
  • Es wurde ein Problem mit den Konsistenzebenen „Strong“ und „BoundedStaleness“ behoben.

1.11.0

  • Es wurde Unterstützung für eine neue Konsistenzebene mit dem Namen „ConsistentPrefix“ hinzugefügt.
  • Ein Fehler beim Lesen von Sammlungen im Sitzungsmodus wurde behoben.

1.10.0

  • Es wurde eine Unterstützung für partitionierte Sammlungen mit wenigen Anforderungseinheiten (2.500 RU/s) und für die Skalierung in Schritten von 100 RU/s hinzugefügt.
  • Behebt einen Fehler in der systemeigenen Assembly, was in einigen Abfragen zu Einer NullRef-Ausnahme führen kann.

1.9.6

  • Es wurde ein Fehler in der Abfragemodulkonfiguration behoben, der ausnahmen für Abfragen im Gatewaymodus verursachen kann.
  • Es wurden einige Fehler im Sitzungscontainer behoben, die eine Ausnahme "Besitzerressource nicht gefunden" für Anforderungen unmittelbar nach der Erstellung der Sammlung verursachen könnte.

1.9.5

  • Unterstützung für Aggregationsabfragen (COUNT, MIN, MAX, SUM und AVG) wurde hinzugefügt.
  • Unterstützung für Änderungsfeeds wurde hinzugefügt.
  • Unterstützung für Sammlungskontingentinformationen über „RequestOptions.setPopulateQuotaInfo“ wurde hinzugefügt.
  • Unterstützung für die Skriptprotokollierung gespeicherter Prozeduren über „RequestOptions.setScriptLoggingEnabled“ wurde hinzugefügt.
  • Ein Fehler wurde behoben, bei dem die Abfrage im DirectHttps-Modus beim Auftreten von Drosselungsfehlern möglicherweise nicht mehr reagierte.
  • Korrektur eines Fehlers im Sitzungskonsistenzmodus.
  • Behebt einen Fehler, der zu NullReferenceException in HttpContext führen kann, wenn die Anforderungsrate hoch ist.
  • Verbesserte Leistung des DirectHttps-Modus.

1.9.4

  • Einfache, clientinstanzbasierte Proxyunterstützung mit ConnectionPolicy.setProxy()-API hinzugefügt.
  • Die DocumentClient.close()-API wurde hinzugefügt, um eine DocumentClient-Instanz ordnungsgemäß zu schließen.
  • Abfrageleistung im direkten Konnektivitätsmodus verbessert, indem der Abfrageplan von der nativen Assembly (und nicht vom Gateway) abgeleitet wird.
  • Legen Sie FAIL_ON_UNKNOWN_PROPERTIES = false fest, sodass Benutzer jsonIgnoreProperties nicht in ihrem einfachen alten Java-Objekt (POJO) definieren müssen.
  • Protokollierung für die Verwendung von SLF4J umgestaltet.
  • Einige andere Fehler im Konsistenzleser behoben.

1.9.3

  • Fehler in der Verbindungsverwaltung behoben, um Verbindungsverluste im mit direkter Konnektivitätsmodus zu verhindern.
  • Ein Fehler in der TOP-Abfrage wurde behoben, bei dem die NullReference-Ausnahme ausgelöst werden kann.
  • Verbesserte Leistung, indem die Anzahl der Netzwerkaufrufe für die internen Caches reduziert wird.
  • Statuscode, ActivityID und Anforderungs-URI in DocumentClientException hinzugefügt, um eine bessere Problembehandlung zu erhalten.

1.9.2

  • Problem in der Verbindungsverwaltung behoben, um die Stabilität zu verbessern.

1.9.1

  • Unterstützung für BoundedStaleness-Konsistenzebene hinzugefügt.
  • Unterstützung direkter Verbindungen für CRUD-Vorgänge für partitionierte Sammlungen hinzugefügt.
  • Korrektur eines Fehlers beim Abfragen einer Datenbank mit SQL.
  • Ein Fehler im Sitzungscache wurde behoben, bei dem das Sitzungstoken möglicherweise falsch festgelegt wurde.

1.9.0

  • Unterstützung für parallele partitionsübergreifende Abfragen hinzugefügt.
  • Unterstützung für TOP-/ORDER BY-Abfragen für partitionierte Sammlungen hinzugefügt.
  • Unterstützung für starke Konsistenz hinzugefügt.
  • Unterstützung für namensbasierte Anforderungen bei Verwendung von Direktverbindungen.
  • Korrektur, durch die bei allen Anforderungswiederholungen der gleiche ActivityId-Wert verwendet wird.
  • Korrektur eines Fehlers in Verbindung mit dem Sitzungscache bei der Neuerstellung einer Sammlung gleichen Namens.
  • Polygon- und LineString-Datentypen beim Angeben der Sammlungsindizierungsrichtlinie für räumliche Geofencing-Abfragen hinzugefügt.
  • Behobene Probleme mit Java Doc für Java 1.8.

1.8.1

  • Korrektur eines Fehlers in „PartitionKeyDefinitionMap“ zum Zwischenspeichern einzelner Partitionssammlungen, ohne dass zusätzliche Anforderungen zum Abrufen von Partitionsschlüsseln erfolgen.
  • Korrektur eines Fehlers, sodass keine Wiederholung erfolgt, wenn ein falscher Partitionsschlüsselwert bereitgestellt wird.

1.8.0

  • Unterstützung für Datenbankkonten in mehreren Regionen hinzugefügt.
  • Unterstützung für automatische Wiederholungsversuche für gedrosselte Anforderungen hinzugefügt, mit Optionen zum Anpassen der maximalen Anzahl von Wiederholungsversuchen und der maximalen Wartezeit. Weitere Informationen finden Sie unter RetryOptions und Verbinden ionPolicy.getRetryOptions().
  • Auf IPartitionResolver basierender benutzerdefinierter Partitionierungscode als „veraltet“ markiert. Verwenden Sie partitionierte Sammlungen für höheren Speicher und Durchsatz.

1.7.1

  • Unterstützung für Wiederholungsrichtlinie für Ratenbegrenzung hinzugefügt.

1.7.0

  • Unterstützung einer Gültigkeitsdauer (TTL) für Dokumente hinzugefügt.

1.6.0

1.5.1

  • Ein Fehler in HashPartitionResolver wurde behoben, um Hashwerte in Little-Endian zu generieren, um mit anderen Software Development Kits (SDKs) konsistent zu sein.

1.5.0

  • Hinzufügen von Hash- und Bereichspartitionen-Konfliktlösern, um die Freigabe von Anwendungen über mehrere Partitionen zu unterstützen.

1.4.0

  • Upsert implementiert. Neue UpsertXXX-Methoden hinzugefügt, um das „Upsert“-Feature zu unterstützen.
  • ID-basiertes Routing implementiert. Keine öffentliche API-Änderungen, alle Änderungen sind intern.

1.3.0

  • Version ausgelassen, um die Versionsnummer in Einklang mit den anderen SDKs zu bringen.

1.2.0

  • Unterstützt GeoSpatialIndex.
  • „ID“-Eigenschaft wird für alle Ressourcen überprüft. IDs für Ressourcen dürfen kein Leerzeichen enthalten?, keine \#Zeichen /enthalten oder mit einem Leerzeichen enden.
  • Neue Überschrift „Fortschritt der Indextransformation“ zu „ResourceResponse“ hinzugefügt.

1.1.0

  • V2-Indizierungsrichtlinie implementiert.

1.0.0

  • Allgemeine Verfügbarkeit (GA) des SDK

Veröffentlichungs- und Deaktivierungstermine

Wenn Microsoft ein SDK deaktiviert, werden Sie mindestens 12 Monate vorher benachrichtigt, um einen reibungslosen Übergang zu einer neueren/unterstützten Version zu gewährleisten. Neue Features, Funktionen und Optimierungen werden nur zum aktuellen SDK hinzugefügt. Es wird empfohlen, immer so früh wie möglich auf die neueste SDK-Version zu aktualisieren.

Warnung

Nach dem 30. Möglicherweise 2020 führt Azure Cosmos DB keine Fehlerbehebungen mehr durch, fügt neue Features hinzu und bietet Unterstützung für Die Versionen 1.x des Azure Cosmos DB Java SDK für die API für NoSQL. Wenn Sie kein Upgrade durchführen möchten, werden Anforderungen, die von Version 1.x des SDK gesendet werden, weiterhin vom Azure Cosmos DB-Dienst bedient.

Nach dem 29. Februar 2016 werden von Azure Cosmos DB für die Versionen 0.x des Azure Cosmos DB Java SDK für die API für NoSQL weder Fehlerbehebungen durchgeführt, noch neue Funktionen hinzugefügt, noch Unterstützung bereitgestellt. Wenn Sie kein Upgrade durchführen möchten, werden Anforderungen, die von Version 0.x des SDK gesendet werden, weiterhin vom Azure Cosmos DB-Dienst bedient.

Version Veröffentlichungsdatum Deaktivierungstermine
2.6.1 17. Dezember 2020 29. Februar 2024
2.6.0 16. Juli 2020 29. Februar 2024
2.5.1 03. Juni 2020 29. Februar 2024
2.5.0 12. Mai 2020 29. Februar 2024
2.4.7 20. Februar 2020 29. Februar 2024
2.4.6 24. Januar 2020 29. Februar 2024
2.4.5 10. November 2019 29. Februar 2024
2.4.4 24. Oktober 2019 29. Februar 2024
2.4.2 26. September 2019 29. Februar 2024
2.4.1 18 Juli 2019 29. Februar 2024
2.4.0 04. Mai 2019 29. Februar 2024
2.3.0 24. April 2019 29. Februar 2024
2.2.3 16. April 2019 29. Februar 2024
2.2.2 05. April 2019 29. Februar 2024
2.2.0 27. März 2019 29. Februar 2024
2.1.3 13. März 2019 29. Februar 2024
2.1.2 09. März 2019 29. Februar 2024
2.1.1 13. Dezember 2018 29. Februar 2024
2.1.0 20. November 2018 29. Februar 2024
2.0.0 21. September 2018 29. Februar 2024
1.16.4 10. September 2018 30. Mai 2020
1.16.3 09. September 2018 30. Mai 2020
1.16.2 29. Juni 2018 30. Mai 2020
1.16.1 16. Mai 2018 30. Mai 2020
1.16.0 15. März 2018 30. Mai 2020
1.15.0 14. November 2017 30. Mai 2020
1.14.0 28. Oktober 2017 30. Mai 2020
1.13.0 25. August 2017 30. Mai 2020
1.12.0 11. Juli 2017 30. Mai 2020
1.11.0 10. Mai 2017 30. Mai 2020
1.10.0 11. März 2017 30. Mai 2020
1.9.6 21. Februar 2017 30. Mai 2020
1.9.5 31. Januar 2017 30. Mai 2020
1.9.4 24. November 2016 30. Mai 2020
1.9.3 30. Oktober 2016 30. Mai 2020
1.9.2 28. Oktober 2016 30. Mai 2020
1.9.1 26. Oktober 2016 30. Mai 2020
1.9.0 3\. Oktober 2016 30. Mai 2020
1.8.1 30. Juni 2016 30. Mai 2020
1.8.0 14. Juni 2016 30. Mai 2020
1.7.1 30. April 2016 30. Mai 2020
1.7.0 27. April 2016 30. Mai 2020
1.6.0 29. März 2016 30. Mai 2020
1.5.1 31. Dezember 2015 30. Mai 2020
1.5.0 4\. Dezember 2015 30. Mai 2020
1.4.0 5\. Oktober 2015 30. Mai 2020
1.3.0 5\. Oktober 2015 30. Mai 2020
1.2.0 5\. August 2015 30. Mai 2020
1.1.0 9\. Juli 2015 30. Mai 2020
1.0.1 12. Mai 2015 30. Mai 2020
1.0.0 7\. April 2015 30. Mai 2020
0.9.5-prelease 9\. März 2015 29. Februar 2016
0.9.4-prelease 17. Februar 2015 29. Februar 2016
0.9.3-prelease 13. Januar 2015 29. Februar 2016
0.9.2-prelease 19. Dezember 2014 29. Februar 2016
0.9.1-prelease 19. Dezember 2014 29. Februar 2016
0.9.0-prelease 10. Dezember 2014 29. Februar 2016

Häufig gestellte Fragen

Wie werde ich über die Einstellung eines SDK benachrichtigt?

Um einen reibungslosen Übergang zu einem unterstützten SDK zu ermöglichen, informiert Microsoft 12 Monate vor Ende des Supports über die Einstellung eines SDK. Sie werden über verschiedene Kommunikationskanäle benachrichtigt: Azure-Portal, Azure-Updates und direkte Kommunikation mit den entsprechenden Dienstadministratoren.

Kann ich mit einem Azure Cosmos DB SDK, das eingestellt werden soll, während der 12-monatigen Frist Anwendungen erstellen?

Ja, mit einem solchen Azure Cosmos DB SDK können Sie während der 12-monatigen Frist Anwendungen erstellen, bereitstellen und ändern. Es wird empfohlen, nach Bedarf innerhalb der 12-monatigen Frist zu einer neueren unterstützten Version des Azure Cosmos DB SDK zu migrieren.

Was geschieht nach dem Einstellungsdatum mit Anwendungen, die das nicht unterstützte Azure Cosmos DB SDK verwenden?

Nach dem Einstellungsdatum werden von Azure Cosmos DB für die eingestellten SDK-Versionen keine Fehlerbehebungen mehr durchgeführt und keine neuen Funktionen hinzugefügt, und es wird auch kein Support mehr dafür angeboten. Wenn Sie kein Upgrade durchführen möchten, werden von den eingestellten Versionen des SDK gesendete Anforderungen weiterhin vom Azure Cosmos DB-Dienst bedient.

Welche SDK-Versionen werden über die neuesten Funktionen und Updates verfügen?

Neue Funktionen und Updates werden nur der aktuellen Nebenversion der neuesten unterstützten SDK-Hauptversion hinzugefügt. Es wird empfohlen, immer die aktuelle Version zu verwenden, um von neuen Funktionen, Leistungsverbesserungen und Fehlerbehebungen zu profitieren. Wenn Sie eine alte, noch nicht eingestellte Version des SDK verwenden, funktionieren Ihre Anforderungen an Azure Cosmos DB weiterhin, Sie haben jedoch keinen Zugriff auf neue Funktionen.

Was muss ich tun, wenn ich meine Anwendung nicht vor einem Stichtag aktualisieren kann?

Es wird empfohlen, so früh wie möglich auf das neueste SDK zu aktualisieren. Nachdem ein SDK für die Einstellung markiert wurde, bleiben Ihnen 12 Monate zur Aktualisierung Ihrer Anwendung. Wenn Sie die Aktualisierung nicht bis zum Einstellungsdatum vornehmen können, werden von den eingestellten Versionen des SDK gesendete Anforderungen weiterhin von Azure Cosmos DB verarbeitet, sodass Ihre ausgeführten Anwendungen weiterhin funktionieren. Für die eingestellten SDK-Versionen werden jedoch von Azure Cosmos DB keine Fehlerbehebungen mehr durchgeführt und keine neuen Funktionen hinzugefügt, und es wird auch kein Support mehr dafür angeboten.

Wenn Sie über einen Supportplan verfügen und technischen Support benötigen, kontaktieren Sie uns, indem Sie ein Supportticket erstellen.

Wie kann ich anfordern, dass Features zu einem SDK oder Connector hinzugefügt werden?

Neue Features werden nicht immer jedem SDK oder Connector sofort hinzugefügt. Wenn eine Funktion, die Ihrer Meinung hinzugefügt werden sollte, nicht unterstützt wird, fügen Sie bitte unserem Communityforum ein Feedback hinzu.