Azure Cosmos DB för NoSQL Java SDK (äldre): Viktig information och resurser

GÄLLER FÖR: NoSQL

Den här artikeln beskriver Azure Cosmos DB Sync Java SDK v2 för API:et för NoSQL. Det här API:et stöder endast synkrona åtgärder.

Viktigt!

Det här är inte den senaste Java SDK:t för Azure Cosmos DB! Vi rekommenderar starkt att du använder Azure Cosmos DB Java SDK v4 för ditt projekt. Om du vill uppgradera följer du anvisningarna i guiden Migrera till Azure Cosmos DB Java SDK v4 och guiden Reactor vs RxJava .

Varning

Från och med den 29 februari 2024 har Azure Cosmos DB Sync Java SDK v2.x nu dragits tillbaka. Azure Cosmos DB tillhandahåller inte längre underhåll eller support för denna SDK efter tillbakadragandet. Följ anvisningarna här för att migrera till Azure Cosmos DB Java SDK v4.

Länkar
Ladda ned SDK Maven
API-dokumentation Referensdokumentation för Java API
Bidra till SDK GitHub
Kom igång Kom igång med Java SDK
Självstudie om webbappar Utveckling av webbprogram med Azure Cosmos DB
Minsta körtid som stöds Java Development Kit (JDK) 7+

Viktig information

Här är viktig information för varje version av SDK.

2.6.5

  • Testberoende har com.google.guava/guava tagits bort på grund av säkerhetsrisker
  • Uppgraderat beroende com.fasterxml.jackson.core/jackson-databind till 2.14.0
  • Uppgraderat beroende commons-codec/commons-codec till 1.15
  • Uppgraderat beroende org.json/json till 20180130

2.6.4

  • Korrigerade återförsöksprincipen för tidsgränser för läsning

2.6.3

  • En återförsöksprincip har åtgärdats när GoneException den är inlindad IllegalStateException – den här ändringen är nödvändig för att se till att Gateway-cachen uppdateras på 410 så att Spark-anslutningsappen (för Spark 2.4) kan använda en anpassad återförsöksprincip för att tillåta att frågor lyckas under partitionsdelningar

2.6.2

  • Lade till en ny återförsöksprincip för återförsök vid tidsgränser för läsning
  • Uppgraderat beroende com.fasterxml.jackson.core/jackson-databind till 2.9.10.8
  • Uppgraderat beroende org.apache.httpcomponents/httpclient till 4.5.13

2.6.1

  • En bugg har åtgärdats vid hantering av en fråga via tjänstens interop.

2.6.0

  • Stöd har lagts till för att fråga ändringsflöde från tidpunkten.

2.5.1

  • Åtgärdar problem med primär partitionscache i documentCollection-frågan.

2.5.0

  • Stöd har lagts till för 449 omförsök av anpassad konfiguration.

2.4.7

  • Åtgärdar problem med tidsgränsen för anslutningspoolen.
  • Åtgärdar uppdatering av autentiseringstoken vid interna återförsök.

2.4.6

  • Uppdaterade rätt replikprinciptagg på klientsidan på databaseAccount och gjorde databasKontokonfigurationsläsningar från cacheminnet.

2.4.5

  • Om användaren tillhandahåller pkRangeId undviker den här versionen ett nytt försök vid ogiltigt partitionsnyckelintervallfel

2.4.4

  • Cacheuppdateringar för optimerat partitionsnyckelintervall.
  • Åtgärdar scenariot där SDK:t inte underhåller partitionsdelningstips från servern och resulterar i felaktig uppdatering av routningscachen på klientsidan.

2.4.2

  • Uppdateringar av optimerad samlingscache.

2.4.1

  • Stöd har lagts till för att hämta det inre undantagsmeddelandet från diagnostiksträngen för begäran.

2.4.0

  • Versions-API för PartitionKeyDefinition introducerades.

2.3.0

  • Separat timeout-stöd har lagts till för direktläge.

2.2.3

  • Använda null-felmeddelande från tjänsten och skapa ett undantag för dokumentklienten.

2.2.2

  • Socket-anslutningsförbättring, lägga till SoKeepAlive standard sant.

2.2.0

  • Stöd för begärandediagnostiksträng har lagts till.

2.1.3

  • Fel har åtgärdats i PartitionKey för Hash V2.

2.1.2

  • Stöd har lagts till för sammansatta index.
  • Fel i global slutpunktshanterare har åtgärdats för att framtvinga uppdatering.
  • Ett fel har åtgärdats för upsert-åtgärder med förhandsvillkor i direktläge.

2.1.1

  • Ett fel har åtgärdats i gatewayadresscachen.

2.1.0

  • Stöd för skrivningar i flera regioner har lagts till för direktläge.
  • Stöd har lagts till för hantering IOExceptions som genereras som ServiceUnavailable undantag från en proxyserver.
  • En bugg har åtgärdats i en princip för återförsök av slutpunktsidentifiering.
  • En bugg har åtgärdats för att säkerställa att null-pekarfel inte genereras i BaseDatabaseAccountConfigurationProvider.
  • En bugg har åtgärdats för att säkerställa att QueryIterator inte returnerar nullvärden.
  • En bugg har åtgärdats för att säkerställa att stor PartitionKey tillåts.

2.0.0

  • Stöd för skrivningar i flera regioner har lagts till för gatewayläge.

1.16.4

  • En bugg har åtgärdats i läspartitionens nyckelintervall för en fråga.

1.16.3

  • En bugg har åtgärdats vid inställningen av rubrikstorleken för fortsättningstoken i DirectHttps-läge.

1.16.2

  • Stöd för strömningsredundans har lagts till.
  • Stöd har lagts till för anpassade metadata.
  • Förbättrad logik för sessionshantering.
  • En bugg har åtgärdats i cacheminnet för partitionsnyckelintervall.
  • NullPointerException En (NPE) bugg har åtgärdats i direktläge.

1.16.1

  • Stöd har lagts till för Unikt index.
  • Stöd har lagts till för att begränsa fortsättningstokens storlek i feed-options.
  • En bugg har åtgärdats i Json Serialization (tidsstämpel).
  • En bugg har åtgärdats i Json Serialization (uppräkning).
  • Beroende av com.fasterxml.jackson.core:jackson-databind uppgraderad till 2.9.5.

1.16.0

  • Förbättrad Anslut ionspool för direktläge.
  • Förbättrad Prefetch-förbättring för icke-ordnad korspartitionsfråga.
  • Förbättrad UUID-generering.
  • Förbättrad logik för sessionskonsekvens.
  • Stöd för multipolygon har lagts till.
  • Stöd har lagts till för partitionsnyckelintervallstatistik för samling.
  • En bugg har åtgärdats i stöd för flera regioner.

1.15.0

  • Förbättrad Json-serialiseringsprestanda.
  • Den här SDK-versionen kräver den senaste versionen av Azure Cosmos DB-emulatorn.

1.14.0

  • Interna ändringar för Microsoft Friends-bibliotek.

1.13.0

  • Ett problem vid läsning av nyckelintervall för en enskild partition har åtgärdats.
  • Ett problem har åtgärdats i ResourceID-parsning som påverkar databasen med korta namn.
  • Ett problem som orsakades av partitionsnyckelkodning har åtgärdats.

1.12.0

  • Kritiska felkorrigeringar vid bearbetning av begäranden under partitionsdelningar.
  • Ett problem med konsekvensnivåerna Stark och BoundedStaleness har åtgärdats.

1.11.0

  • Stöd har lagts till för en ny konsekvensnivå med namnet ConsistentPrefix.
  • En bugg har åtgärdats i lässamlingen i sessionsläge.

1.10.0

  • Aktiverat stöd för partitionerad samling med så lite som 2 500 RU/s och skala i steg om 100 RU/s.
  • Åtgärdar en bugg i den interna sammansättningen, vilket kan orsaka NullRef-undantag i vissa frågor.

1.9.6

  • Ett fel har åtgärdats i frågemotorkonfigurationen som kan orsaka undantag för frågor i gatewayläge.
  • Några buggar har åtgärdats i sessionscontainern som kan orsaka ett undantag för "Ägarresurs hittades inte" för begäranden omedelbart efter att samlingen har skapats.

1.9.5

  • Stöd har lagts till för aggregeringsfrågor (COUNT, MIN, MAX, SUM och AVG).
  • Stöd har lagts till för ändringsflöde.
  • Stöd har lagts till för insamlingskvotinformation via RequestOptions.setPopulateQuotaInfo.
  • Stöd har lagts till för loggning av lagrade procedurer via RequestOptions.setScriptLoggingEnabled.
  • En bugg har åtgärdats där frågan i DirectHttps-läge kan sluta svara vid begränsningsfel.
  • En bugg har åtgärdats i sessionskonsekvensläge.
  • Åtgärdar en bugg som kan orsaka NullReferenceException i HttpContext när begärandefrekvensen är hög.
  • Förbättrad prestanda för DirectHttps-läge.

1.9.4

  • Lade till enkelt klientinstansbaserat proxystöd med API:et Anslut ionPolicy.setProxy().
  • Lade till API:et DocumentClient.close() för att stänga en DocumentClient-instans korrekt.
  • Förbättrad frågeprestanda i direktanslutningsläge genom att härleda frågeplanen från den interna sammansättningen i stället för gatewayen.
  • Ange FAIL_ON_UNKNOWN_PROPERTIES = false så att användarna inte behöver definiera JsonIgnoreProperties i sitt vanliga gamla Java-objekt (POJO).
  • Omstrukturerad loggning för att använda SLF4J.
  • Några andra buggar i konsekvensläsaren har åtgärdats.

1.9.3

  • Ett fel i anslutningshanteringen har åtgärdats för att förhindra anslutningsläckor i direktanslutningsläge.
  • En bugg har åtgärdats i TOP-frågan där det kan utlösa NullReference-undantag.
  • Förbättrade prestanda genom att minska antalet nätverksanrop för de interna cacheminnena.
  • Statuskod, ActivityID och URI för begäran har lagts till i DocumentClientException för bättre felsökning.

1.9.2

  • Ett problem har åtgärdats i anslutningshanteringen för stabilitet.

1.9.1

  • Stöd för BoundedStaleness-konsekvensnivå har lagts till.
  • Stöd har lagts till för direktanslutning för CRUD-åtgärder för partitionerade samlingar.
  • En bugg har åtgärdats vid frågor mot en databas med SQL.
  • En bugg har åtgärdats i sessionscachen där sessionstoken kan ha angetts felaktigt.

1.9.0

  • Stöd har lagts till för parallella frågor mellan partitioner.
  • Stöd har lagts till för TOP/ORDER BY-frågor för partitionerade samlingar.
  • Stöd har lagts till för stark konsekvens.
  • Stöd har lagts till för namnbaserade begäranden när du använder direktanslutning.
  • Fast för att activityId ska förbli konsekvent för alla begärandeförsök.
  • En bugg som är relaterad till sessionscachen har åtgärdats när en samling med samma namn återskapas.
  • Polygon och LineString DataTypes har lagts till när du anger en princip för insamlingsindexering för geo-fäktning av rumsliga frågor.
  • Problem med Java Doc för Java 1.8 har åtgärdats.

1.8.1

  • En bugg har åtgärdats i PartitionKeyDefinitionMap för att cachelagrat enskilda partitionssamlingar och inte göra extra begäranden om att hämta partitionsnycklar.
  • Ett fel har åtgärdats för att inte försöka igen när ett felaktigt partitionsnyckelvärde anges.

1.8.0

  • Stöd har lagts till för databaskonton i flera regioner.
  • Stöd har lagts till för automatiskt återförsök på begränsade begäranden med alternativ för att anpassa de maximala återförsöksförsöken och maximal väntetid för återförsök. Mer information finns i RetryOptions and Anslut ionPolicy.getRetryOptions().
  • Inaktuell IPartitionResolver-baserad anpassad partitioneringskod. Använd partitionerade samlingar för högre lagring och dataflöde.

1.7.1

  • Stöd för återförsöksprincip har lagts till för hastighetsbegränsning.

1.7.0

  • TTL-stöd (Time To Live) har lagts till för dokument.

1.6.0

1.5.1

  • En bugg i HashPartitionResolver har åtgärdats för att generera hash-värden i little-endian så att de överensstämmer med andra SDK:er (Software Development Kit).

1.5.0

  • Lägg till hash- och intervallpartitionslösare för att hjälpa till med horisontell partitionering av program över flera partitioner.

1.4.0

  • Implementera Upsert. Nya upsertXXX-metoder har lagts till för att stödja Upsert-funktionen.
  • Implementera ID-baserad routning. Inga offentliga API-ändringar, alla ändringar interna.

1.3.0

  • Versionen hoppades över för att anpassa versionsnumret till andra SDK:er

1.2.0

  • Stöder geospatialt index.
  • Verifierar ID-egenskapen för alla resurser. ID:t för resurser får inte innehålla ?, /, #, \, tecken eller sluta med ett blanksteg.
  • Lägger till nytt huvud "indextransformeringsförlopp" i ResourceResponse.

1.1.0

  • Implementerar V2-indexeringsprincip

1.0.0

  • GA SDK

Datum för lansering och pensionering

Microsoft tillhandahåller ett meddelande minst 12 månader innan ett SDK dras tillbaka för att underlätta övergången till en nyare/version som stöds. Nya funktioner och optimeringar läggs bara till i den aktuella SDK:n. Vi rekommenderar att du alltid uppgraderar till den senaste SDK-versionen så tidigt som möjligt.

Varning

Efter 30 kanske 2020 kommer Azure Cosmos DB inte längre att göra felkorrigeringar, lägga till nya funktioner och ge stöd till version 1.x av Azure Cosmos DB Java SDK för API för NoSQL. Om du föredrar att inte uppgradera kommer begäranden från version 1.x av SDK:n att fortsätta att hanteras av tjänsten Azure Cosmos DB.

Efter den 29 februari 2016 kommer Azure Cosmos DB inte längre att göra felkorrigeringar, lägga till nya funktioner och ge stöd till version 0.x av Azure Cosmos DB Java SDK för API för NoSQL. Om du föredrar att inte uppgradera fortsätter begäranden som skickas från version 0.x av SDK:et att hanteras av Azure Cosmos DB-tjänsten.

Version Utgivningsdatum Förfallodatum
2.6.1 17 dec 2020 29 feb 2024
2.6.0 den 16 juli 2020 29 feb 2024
2.5.1 03 juni 2020 29 feb 2024
2.5.0 12 maj 2020 29 feb 2024
2.4.7 Den 20 februari 2020 29 feb 2024
2.4.6 Den 24 januari 2020 29 feb 2024
2.4.5 10 november 2019 29 feb 2024
2.4.4 24 okt 2019 29 feb 2024
2.4.2 26 sep 2019 29 feb 2024
2.4.1 den 18 juli 2019 29 feb 2024
2.4.0 den 4 maj 2019 29 feb 2024
2.3.0 24 apr 2019 29 feb 2024
2.2.3 16 apr 2019 29 feb 2024
2.2.2 05 apr 2019 29 feb 2024
2.2.0 den 27 mars 2019 29 feb 2024
2.1.3 den 13 mars 2019 29 feb 2024
2.1.2 den 9 mars 2019 29 feb 2024
2.1.1 13 dec 2018 29 feb 2024
2.1.0 den 20 november 2018 29 feb 2024
2.0.0 den 21 september 2018 29 feb 2024
1.16.4 den 10 september 2018 30 maj 2020
1.16.3 den 9 september 2018 30 maj 2020
1.16.2 den 29 juni 2018 30 maj 2020
1.16.1 16 maj 2018 30 maj 2020
1.16.0 den 15 mars 2018 30 maj 2020
1.15.0 den 14 november 2017 30 maj 2020
1.14.0 28 okt 2017 30 maj 2020
1.13.0 den 25 augusti 2017 30 maj 2020
1.12.0 11 juli 2017 30 maj 2020
1.11.0 10 maj 2017 30 maj 2020
1.10.0 11 mars 2017 30 maj 2020
1.9.6 den 21 februari 2017 30 maj 2020
1.9.5 31 januari 2017 30 maj 2020
1.9.4 den 24 november 2016 30 maj 2020
1.9.3 den 30 oktober 2016 30 maj 2020
1.9.2 den 28 oktober 2016 30 maj 2020
1.9.1 den 26 oktober 2016 30 maj 2020
1.9.0 den 3 oktober 2016 30 maj 2020
1.8.1 den 30 juni 2016 30 maj 2020
1.8.0 den 14 juni 2016 30 maj 2020
1.7.1 den 30 april 2016 30 maj 2020
1.7.0 den 27 april 2016 30 maj 2020
1.6.0 den 29 mars 2016 30 maj 2020
1.5.1 31 december 2015 30 maj 2020
1.5.0 den 4 december 2015 30 maj 2020
1.4.0 den 5 oktober 2015 30 maj 2020
1.3.0 den 5 oktober 2015 30 maj 2020
1.2.0 den 5 augusti 2015 30 maj 2020
1.1.0 den 9 juli 2015 30 maj 2020
1.0.1 den 12 maj 2015 30 maj 2020
1.0.0 den 7 april 2015 30 maj 2020
0.9.5-förhandsversion mar 09, 2015 den 29 februari 2016
0.9.4-förhandsversion den 17 februari 2015 den 29 februari 2016
0.9.3-förhandsversion 13 januari 2015 den 29 februari 2016
0.9.2-förhandsversion den 19 december 2014 den 29 februari 2016
0.9.1-förhandsversion den 19 december 2014 den 29 februari 2016
0.9.0-förhandsversion den 10 december 2014 den 29 februari 2016

Vanliga frågor och svar

Hur meddelas jag om tillbakadragningen av SDK?

För att säkerställa en smidig övergång till en SDK-version som stöds meddelar Microsoft kunder 12 månader innan stödet för den äldre SDK:n upphör. Vi meddelar dig via flera kommunikationskanaler: på Azure-portalen, genom Azure-uppdateringar och via direktkommunikation till tjänstadministratörer.

Kan jag skapa program med en SDK för Azure Cosmos DB som kommer att dras tillbaka inom 12 månader?

Ja. Du kan skapa, distribuera och ändra program med Azure Cosmos DB-SDK:n som kommer att dras tillbaka under 12-månadsperioden. Vi rekommenderar att du migrerar till en senare version av SDK:n för Azure Cosmos DB under 12-månadsperioden.

Vad händer med program som använder den Azure Cosmos DB-SDK som inte längre stöds efter tillbakadragningsdatumet?

Efter tillbakadragningsdatumet kommer Azure Cosmos DB inte att erbjuda buggkorrigeringar, nya funktioner eller stöd för de SDK-versioner som har dragits tillbaka. Om du föredrar att inte uppgradera kommer begäranden från de inaktuella versionerna av SDK:n att fortsätta att hanteras av tjänsten Azure Cosmos DB.

Vilka SDK-versioner har de senaste funktionerna och uppdateringarna?

Nya funktioner och uppdateringar läggs bara till i den senaste delversionen av den senaste större SDK-versionen som stöds. Vi rekommenderar att du alltid använder den senaste versionen för att dra nytta av nya funktioner, prestandaförbättringar och felkorrigeringar. Om du använder en gammal, icke-tillbakadragen version av SDK:n, kommer dina begäranden till Azure Cosmos DB fortfarande att fungera, men du kommer inte att ha tillgång till nya funktioner.

Vad gör jag om jag inte har möjlighet att uppdatera mitt program före det sista datumet?

Vi rekommenderar att du uppgraderar till den senaste SDK:n så tidigt som möjligt. När en SDK-version har flaggats för tillbakadragning har du 12 månader på dig att uppdatera ditt program. Om du inte har möjlighet att uppdatera före tillbakadragningsdatumet kommer begäranden som skickas från de tillbakadragna versionerna av SDK:n att fortsätta att betjänas av Azure Cosmos DB, och dina aktiva program kommer att fortsätta att fungera. Men Azure Cosmos DB kommer inte längre att erbjuda felkorrigeringar, nya funktioner eller stöd för de tillbakadragna SDK-versionerna.

Om du har en supportplan och behöver teknisk support kontaktar du oss genom att skicka in en supportbegäran.

Hur kan jag begära att funktioner läggs till i ett SDK eller en anslutningsapp?

Nya funktioner läggs inte alltid till i varje SDK eller anslutningsapp omedelbart. Om det finns en funktion som inte stöds som du vill lägga till kan du lägga till feedback i vårt communityforum.