Azure Cosmos DB for NoSQL Java SDK (verouderd): opmerkingen bij de release en resources

VAN TOEPASSING OP: NoSQL

In dit artikel wordt de Azure Cosmos DB Sync Java SDK v2 voor de API voor NoSQL behandeld. Deze API ondersteunt alleen synchrone bewerkingen.

Belangrijk

Dit is niet de nieuwste Java SDK voor Azure Cosmos DB. We raden u ten zeerste aan om Azure Cosmos DB Java SDK v4 te gebruiken voor uw project. Volg de instructies in de handleiding Migrate to Azure Cosmos DB Java SDK v4 en de Reactor vs RxJava-handleiding om een upgrade uit te voeren.

Waarschuwing

Op 29 februari 2024 wordt de Azure Cosmos DB Sync Java SDK v2.x buiten gebruik gesteld. Azure Cosmos DB biedt na buitengebruikstelling geen verdere onderhoud en ondersteuning meer voor deze SDK. Volg de instructies hier om te migreren naar Azure Cosmos DB Java SDK v4.

Koppelingen
SDK downloaden Maven
API-documentatie Naslagdocumentatie voor Java-API
Bijdragen aan SDK GitHub
Aan de slag Aan de slag met de Java SDK
Zelfstudie voor web-apps Ontwikkeling van webtoepassingen met Azure Cosmos DB
Minimaal ondersteunde runtime Java Development Kit (JDK) 7+

Opmerkingen bij de release

Hier volgen de releaseopmerkingen voor elke versie van de SDK.

2.6.5

  • Testafhankelijkheid com.google.guava/guava verwijderd vanwege beveiligingsproblemen
  • Afhankelijkheid com.fasterxml.jackson.core/jackson-databind bijgewerkt naar 2.14.0
  • Afhankelijkheid commons-codec/commons-codec bijgewerkt naar 1.15
  • Afhankelijkheid org.json/json bijgewerkt naar 20180130

2.6.4

  • Het beleid voor opnieuw proberen voor time-outs voor leesbewerkingen opgelost

2.6.3

  • Er is een beleid voor opnieuw proberen opgelost wanneer GoneException deze is verpakt IllegalStateException . Deze wijziging is nodig om ervoor te zorgen dat de gatewaycache wordt vernieuwd op 410, zodat de Spark-connector (voor Spark 2.4) een aangepast beleid voor opnieuw proberen kan gebruiken om query's te laten slagen tijdens partitiesplitsingen

2.6.2

  • Een nieuw beleid voor opnieuw proberen toegevoegd om het opnieuw te proberen bij time-outs voor lezen
  • Afhankelijkheid com.fasterxml.jackson.core/jackson-databind bijgewerkt naar 2.9.10.8
  • Afhankelijkheid org.apache.httpcomponents/httpclient bijgewerkt naar 4.5.13

2.6.1

  • Er is een fout opgelost bij het verwerken van een query via service-interoperabiliteit.

2.6.0

  • Er is ondersteuning toegevoegd voor het opvragen van wijzigingenfeed vanaf een bepaald tijdstip.

2.5.1

  • Lost het probleem met de primaire partitiecache op in de documentCollection-query.

2.5.0

  • Er is ondersteuning toegevoegd voor de aangepaste configuratie voor 449 nieuwe pogingen.

2.4.7

  • Hiermee lost u het time-outprobleem van de verbindingsgroep op.
  • Lost het vernieuwen van verificatietoken op bij interne nieuwe pogingen.

2.4.6

  • De juiste replicabeleidstag aan de clientzijde is bijgewerkt op databaseAccount en heeft databaseAccount-configuratie gelezen uit de cache.

2.4.5

  • Als de gebruiker pkRangeId levert, voorkomt deze versie dat het opnieuw probeert bij een ongeldige fout in het bereik van de partitiesleutel

2.4.4

  • Geoptimaliseerde cache voor partitiesleutelbereiken.
  • Lost het scenario op waarbij de SDK geen splitshint voor partities van de server vermakkelijkt en resulteert in onjuiste routeringscaches vernieuwen aan de clientzijde.

2.4.2

  • Geoptimaliseerde vernieuwingen van de verzamelingscache.

2.4.1

  • Er is ondersteuning toegevoegd voor het ophalen van interne uitzonderingsbericht uit de diagnostische tekenreeks van de aanvraag.

2.4.0

  • Versie-API geïntroduceerd op PartitionKeyDefinition.

2.3.0

  • Er is afzonderlijke time-outondersteuning toegevoegd voor de directe modus.

2.2.3

  • Null-foutbericht van de service gebruiken en een uitzondering voor de documentclient produceren.

2.2.2

  • Verbetering van socketverbinding, waarbij SoKeepAlive standaard true wordt toegevoegd.

2.2.0

  • Ondersteuning voor diagnostische tekenreeksen voor aanvragen toegevoegd.

2.1.3

  • Er is een fout opgelost in PartitionKey voor Hash V2.

2.1.2

  • Ondersteuning toegevoegd voor samengestelde indexen.
  • Er is een fout opgelost in Global Endpoint Manager om vernieuwen af te dwingen.
  • Er is een fout opgelost voor upsert-bewerkingen met voorwaarden in de directe modus.

2.1.1

  • Er is een fout opgelost in de gatewayadrescache.

2.1.0

  • Ondersteuning voor schrijfbewerkingen voor meerdere regio's toegevoegd voor de directe modus.
  • Er is ondersteuning toegevoegd voor de verwerking IOExceptions die is gegenereerd als ServiceUnavailable uitzonderingen, van een proxy.
  • Er is een fout opgelost in het beleid voor opnieuw proberen voor eindpuntdetectie.
  • Er is een fout opgelost om ervoor te zorgen dat null-pointer-uitzonderingen niet worden gegenereerd in BaseDatabaseAccountConfigurationProvider.
  • Er is een fout opgelost om ervoor te zorgen dat QueryIterator geen null-waarden retourneert.
  • Er is een fout opgelost om ervoor te zorgen dat grote PartitionKey is toegestaan.

2.0.0

  • Ondersteuning voor schrijfbewerkingen voor meerdere regio's toegevoegd voor de gatewaymodus.

1.16.4

  • Er is een fout opgelost in partitiesleutelbereiken lezen voor een query.

1.16.3

  • Er is een fout opgelost bij het instellen van de headergrootte van het vervolgtoken in de DirectHttps-modus.

1.16.2

  • Er is ondersteuning toegevoegd voor streamingfailover.
  • Er is ondersteuning toegevoegd voor aangepaste metagegevens.
  • Verbeterde logica voor sessieafhandeling.
  • Er is een fout opgelost in de cache van het partitiesleutelbereik.
  • Er is een (NPE)- NullPointerException fout opgelost in de directe modus.

1.16.1

  • Er is ondersteuning toegevoegd voor Unieke index.
  • Er is ondersteuning toegevoegd voor het beperken van de vervolgtokengrootte in feedopties.
  • Er is een fout opgelost in Json-serialisatie (tijdstempel).
  • Er is een fout opgelost in Json Serialization (enum).
  • Afhankelijkheid van com.fasterxml.jackson.core:jackson-databind bijgewerkt naar 2.9.5.

1.16.0

  • Verbeterde Verbinding maken ion pooling voor directe modus.
  • Verbeterde verbetering van prefetch voor niet-geordende query voor meerdere partities.
  • Verbeterde UUID-generatie.
  • Verbeterde logica voor sessieconsistentie.
  • Ondersteuning toegevoegd voor multipolygon.
  • Er is ondersteuning toegevoegd voor statistieken van partitiesleutelbereiken voor verzameling.
  • Er is een fout opgelost in ondersteuning voor meerdere regio's.

1.15.0

  • Verbeterde prestaties van Json-serialisatie.
  • Voor deze SDK-versie is de nieuwste versie van Azure Cosmos DB Emulator vereist.

1.14.0

  • Interne wijzigingen voor Microsoft-vriendenbibliotheken.

1.13.0

  • Er is een probleem opgelost bij het lezen van bereiken met één partitiesleutel.
  • Er is een probleem opgelost bij het parseren van resource-id's die van invloed zijn op de database met korte namen.
  • Er is een probleem opgelost dat is veroorzaakt door codering van partitiesleutels.

1.12.0

  • Kritieke foutoplossingen voor het aanvragen van verwerking tijdens partitiesplitsingen.
  • Er is een probleem opgelost met de consistentieniveaus Strong en BoundedStaleness.

1.11.0

  • Er is ondersteuning toegevoegd voor een nieuw consistentieniveau met de naam ConsistentPrefix.
  • Er is een fout opgelost in de leesverzameling in de sessiemodus.

1.10.0

  • Ondersteuning ingeschakeld voor gepartitioneerde verzameling met 2500 RU/sec en schaal in stappen van 100 RU/sec.
  • Lost een fout op in de systeemeigen assembly, waardoor nullRef-uitzonderingen in sommige query's kunnen worden veroorzaakt.

1.9.6

  • Er is een fout opgelost in de configuratie van de query-engine die uitzonderingen voor query's in de gatewaymodus kan veroorzaken.
  • Er zijn enkele fouten opgelost in de sessiecontainer die de uitzondering 'Resource eigenaar niet gevonden' kan veroorzaken voor aanvragen direct na het maken van de verzameling.

1.9.5

  • Er is ondersteuning toegevoegd voor aggregatiequery's (COUNT, MIN, MAX, SUM en AVG).
  • Er is ondersteuning toegevoegd voor de wijzigingenfeed.
  • Er is ondersteuning toegevoegd voor verzamelingsquotumgegevens via RequestOptions.setPopulateQuotaInfo.
  • Ondersteuning toegevoegd voor logboekregistratie van opgeslagen procedurescripts via RequestOptions.setScriptLoggingEnabled.
  • Er is een fout opgelost waarbij query's in de DirectHttps-modus niet meer reageerden wanneer er vertragingsfouten optreden.
  • Er is een fout opgelost in de sessieconsistentiemodus.
  • Lost een fout op, wat nullReferenceException in HttpContext kan veroorzaken wanneer de aanvraagsnelheid hoog is.
  • Verbeterde prestaties van de DirectHttps-modus.

1.9.4

  • Er is eenvoudige proxyondersteuning op basis van clientexemplaren toegevoegd met Verbinding maken ionPolicy.setProxy() API.
  • Er is een DocumentClient.close() API toegevoegd om een DocumentClient-exemplaar correct te sluiten.
  • Verbeterde queryprestaties in de directe connectiviteitsmodus door het queryplan af te leiden van de systeemeigen assembly in plaats van de gateway.
  • Stel FAIL_ON_UNKNOWN_PROPERTIES = false in, zodat gebruikers JsonIgnoreProperties niet hoeven te definiëren in hun POJO (Plain Old Java Object).
  • Geherstructureerde logboekregistratie voor het gebruik van SLF4J.
  • Er zijn enkele andere fouten in consistentielezer opgelost.

1.9.3

  • Er is een fout opgelost in het verbindingsbeheer om verbindingslekken in de directe connectiviteitsmodus te voorkomen.
  • Er is een fout opgelost in de TOP-query waarbij nullReference-uitzondering kan worden gegenereerd.
  • Verbeterde prestaties door het aantal netwerkoproepen voor de interne caches te verminderen.
  • Statuscode, ActivityID en Aanvraag-URI toegevoegd in DocumentClientException voor betere probleemoplossing.

1.9.2

  • Er is een probleem opgelost in het verbindingsbeheer voor stabiliteit.

1.9.1

  • Er is ondersteuning toegevoegd voor het consistentieniveau BoundedStaleness.
  • Er is ondersteuning toegevoegd voor directe connectiviteit voor CRUD-bewerkingen voor gepartitioneerde verzamelingen.
  • Er is een fout opgelost bij het uitvoeren van query's op een database met SQL.
  • Er is een fout opgelost in de sessiecache waarbij het sessietoken mogelijk onjuist is ingesteld.

1.9.0

  • Er is ondersteuning toegevoegd voor parallelle query's voor meerdere partities.
  • Ondersteuning toegevoegd voor TOP/ORDER BY-query's voor gepartitioneerde verzamelingen.
  • Er is ondersteuning toegevoegd voor sterke consistentie.
  • Er is ondersteuning toegevoegd voor aanvragen op basis van naam bij gebruik van directe connectiviteit.
  • Opgelost om ActivityId consistent te houden voor alle nieuwe pogingen van aanvragen.
  • Er is een fout opgelost met betrekking tot de sessiecache bij het opnieuw maken van een verzameling met dezelfde naam.
  • Veelhoek- en LineString-gegevenstypen toegevoegd tijdens het opgeven van verzamelingsindexeringsbeleid voor ruimtelijke query's met geo-fencing.
  • Problemen met Java Doc voor Java 1.8 opgelost.

1.8.1

  • Er is een fout opgelost in PartitionKeyDefinitionMap om verzamelingen met één partitie op te cachen en geen extra aanvragen voor partitiesleutels op te halen.
  • Er is een fout opgelost om het niet opnieuw te proberen wanneer er een onjuiste partitiesleutelwaarde is opgegeven.

1.8.0

  • Ondersteuning toegevoegd voor databaseaccounts voor meerdere regio's.
  • Er is ondersteuning toegevoegd voor automatische nieuwe pogingen voor beperkte aanvragen met opties om de maximale pogingen en maximale wachttijd voor opnieuw proberen aan te passen. Zie RetryOptions en Verbinding maken ionPolicy.getRetryOptions() voor meer informatie.
  • Afgeschafte op IPartitionResolver gebaseerde aangepaste partitioneringscode. Gebruik gepartitioneerde verzamelingen voor hogere opslag en doorvoer.

1.7.1

  • Er is ondersteuning toegevoegd voor beleid voor opnieuw proberen voor frequentiebeperking.

1.7.0

  • TTL-ondersteuning (Time to Live) toegevoegd voor documenten.

1.6.0

1.5.1

  • Er is een bug opgelost in HashPartitionResolver om hash-waarden in little-endian te genereren om consistent te zijn met andere SDK's (Software Development Kits).

1.5.0

  • Voeg hash- en bereikpartitie-resolvers toe om te helpen bij het sharden van toepassingen in meerdere partities.

1.4.0

  • Upsert implementeren. Er zijn nieuwe upsertXXX-methoden toegevoegd ter ondersteuning van de Upsert-functie.
  • Routering op basis van id implementeren. Geen wijzigingen in de openbare API, alle wijzigingen intern.

1.3.0

  • Release is overgeslagen om versienummer in overeenstemming te brengen met andere SDK's

1.2.0

  • Ondersteunt georuimtelijke index.
  • Valideert de id-eigenschap voor alle resources. Id's voor resources kunnen geen tekens bevatten?, /of \#eindigen met een spatie.
  • Hiermee voegt u de nieuwe header 'voortgang van indextransformatie' toe aan ResourceResponse.

1.1.0

  • Implementeert V2-indexeringsbeleid

1.0.0

  • GA SDK

Release- en buitengebruikstellingsdatums

Microsoft biedt ten minste 12 maanden voordat een SDK wordt buiten gebruik gesteld om de overgang naar een nieuwere/ondersteunde versie te vlakken. Nieuwe functies en functionaliteit en optimalisaties worden alleen toegevoegd aan de huidige SDK. U wordt aangeraden altijd zo vroeg mogelijk een upgrade uit te voeren naar de nieuwste SDK-versie.

Waarschuwing

Na 30 mogelijk 2020 maakt Azure Cosmos DB geen bugfixes meer, voegt u nieuwe functies toe en biedt u ondersteuning voor versie 1.x van de Azure Cosmos DB Java SDK voor API voor NoSQL. Als u liever geen upgrade uitvoert, worden aanvragen die zijn verzonden vanaf versie 1.x van de SDK nog steeds behandeld door de Azure Cosmos DB-service.

Na 29 februari 2016 maakt Azure Cosmos DB geen bugfixes meer, voegt u nieuwe functies toe en biedt u ondersteuning voor versies 0.x van de Azure Cosmos DB Java SDK voor API voor NoSQL. Als u liever geen upgrade uitvoert, blijven aanvragen die vanaf versie 0.x van de SDK worden verzonden, nog steeds geleverd door de Azure Cosmos DB-service.

Versie Releasedatum Buitengebruikstellingsdatum
2.6.1 17 december 2020 29 februari 2024
2.6.0 16 juli 2020 29 februari 2024
2.5.1 03 juni 2020 29 februari 2024
2.5.0 12 mei 2020 29 februari 2024
2.4.7 20 februari 2020 29 februari 2024
2.4.6 24 januari 2020 29 februari 2024
2.4.5 10 november 2019 29 februari 2024
2.4.4 24 oktober 2019 29 februari 2024
2.4.2 26 sep 2019 29 februari 2024
2.4.1 18 juli 2019 29 februari 2024
2.4.0 04 mei 2019 29 februari 2024
2.3.0 24 apr 2019 29 februari 2024
2.2.3 16 apr 2019 29 februari 2024
2.2.2 05 apr 2019 29 februari 2024
2.2.0 27 maart 2019 29 februari 2024
2.1.3 13 maart 2019 29 februari 2024
2.1.2 09 maart 2019 29 februari 2024
2.1.1 13 december 2018 29 februari 2024
2.1.0 20 november 2018 29 februari 2024
2.0.0 21 september 2018 29 februari 2024
1.16.4 10 september 2018 30 mei 2020
1.16.3 09 september 2018 30 mei 2020
1.16.2 29 juni 2018 30 mei 2020
1.16.1 16 mei 2018 30 mei 2020
1.16.0 15 maart 2018 30 mei 2020
1.15.0 14 november 2017 30 mei 2020
1.14.0 28 oktober 2017 30 mei 2020
1.13.0 25 augustus 2017 30 mei 2020
1.12.0 dinsdag 11 juli 2017 30 mei 2020
1.11.0 10 mei 2017 30 mei 2020
1.10.0 zaterdag 11 maart 2017 30 mei 2020
1.9.6 21 februari 2017 30 mei 2020
1.9.5 31 januari 2017 30 mei 2020
1.9.4 24 november 2016 30 mei 2020
1.9.3 30 oktober 2016 30 mei 2020
1.9.2 28 oktober 2016 30 mei 2020
1.9.1 26 oktober 2016 30 mei 2020
1.9.0 03 oktober 2016 30 mei 2020
1.8.1 30 juni 2016 30 mei 2020
1.8.0 14 juni 2016 30 mei 2020
1.7.1 30 april 2016 30 mei 2020
1.7.0 27 april 2016 30 mei 2020
1.6.0 29 maart 2016 30 mei 2020
1.5.1 donderdag 31 december 2015 30 mei 2020
1.5.0 04 december 2015 30 mei 2020
1.4.0 05 oktober 2015 30 mei 2020
1.3.0 05 oktober 2015 30 mei 2020
1.2.0 05 augustus 2015 30 mei 2020
1.1.0 09 juli 2015 30 mei 2020
1.0.1 12 mei 2015 30 mei 2020
1.0.0 07 april 2015 30 mei 2020
0.9.5-prelease 09 maart 2015 29 februari 2016
0.9.4-prelease 17 februari 2015 29 februari 2016
0.9.3-prelease dinsdag 13 januari 2015 29 februari 2016
0.9.2-prelease 19 december 2014 29 februari 2016
0.9.1-prelease 19 december 2014 29 februari 2016
0.9.0-prelease 10 december 2014 29 februari 2016

Veelgestelde vragen

Hoe word ik op de hoogte gesteld van de buitengebruikstelling van de SDK?

Microsoft zal u 12 maanden vóór het einde van de ondersteuning op de hoogte stellen van de buitengebruikstelling van de SDK om een soepele overgang naar een ondersteunde SDK te vergemakkelijken. We sturen u een melding via verschillende communicatiekanalen: de Azure Portal, Azure-updates en rechtstreekse communicatie met toegewezen servicebeheerders.

Kan ik toepassingen maken met behulp van de Azure Cosmos DB SDK die buiten gebruik gesteld zal worden gedurende de periode van 12 maanden?

Ja, u kunt toepassingen ontwerpen, implementeren en wijzigen met behulp van de Azure Cosmos DB SDK die buiten gebruik gesteld zal worden, gedurende de periode van 12 maanden. Wij raden u aan, indien van toepassing, te migreren naar een nieuwere, ondersteunde versie van de Azure Cosmos DB SDK gedurende de kennisgevingsperiode van 12 maanden.

Wat gebeurt er na de buitengebruikstellingsdatum met de toepassingen die de niet-ondersteunde Azure Cosmos DB SDK gebruiken?

Na de buitengebruikstellingsdatum lost Azure Cosmos DB geen problemen meer op, voegt geen nieuwe functies meer toe en levert geen ondersteuning meer voor de buiten gebruik gestelde SDK-versies. Als u liever geen upgrade uitvoert, worden aanvragen die zijn verzonden vanaf de buiten gebruik gestelde versies van de SDK nog steeds behandeld door de Azure Cosmos DB-service.

Welke SDK-versies hebben de nieuwste functies en updates?

Nieuwe functies en updates worden alleen toegevoegd aan de meest recente secundaire versie van de meest recente ondersteunde primaire SDK-versie. Wij raden aan altijd de nieuwste versie te gebruiken om te profiteren van nieuwe functies, prestatieverbeteringen en oplossingen voor problemen. Als u een oude, niet buiten gebruik gestelde versie van de SDK gebruikt, zullen uw aanvragen voor Azure Cosmos DB nog steeds werken, maar hebt u geen toegang tot nieuwe mogelijkheden.

Wat moet ik doen als ik mijn toepassing niet kan bijwerken vóór een afsluitdatum?

Wij raden u aan zo snel mogelijk een upgrade naar de nieuwste SDK uit te voeren. Nadat een SDK is gelabeld voor buitengebruikstelling, hebt u 12 maanden om de toepassing bij te werken. Als u niet kunt bijwerken voor de buitengebruikstellingsdatum, worden aanvragen die zijn verzonden vanuit de buiten gebruik gestelde versies van de SDK nog steeds behandeld door Azure Cosmos DB, zodat uw actieve toepassingen blijven functioneren. Maar Azure Cosmos DB lost geen problemen meer op, voegt geen nieuwe functies meer toe en levert geen ondersteuning meer voor de buiten gebruik gestelde SDK-versies.

Als u een ondersteuningsplan hebt en technische ondersteuning nodig hebt, neem contact met ons op door een ondersteuningsticket in te vullen.

Hoe kan ik aanvragen dat functies worden toegevoegd aan een SDK of connector?

Nieuwe functies worden niet altijd onmiddellijk toegevoegd aan elke SDK of connector. Als er geen functie wordt ondersteund die u wilt toevoegen, kunt u feedback toevoegen aan ons communityforum.