Zestaw JAVA SDK usługi Azure Cosmos DB for NoSQL (starsza wersja): informacje o wersji i zasoby

DOTYCZY: NoSQL

W tym artykule opisano zestaw Java SDK synchronizacji usługi Azure Cosmos DB w wersji 2 dla interfejsu API for NoSQL. Ten interfejs API obsługuje tylko operacje synchroniczne.

Ważne

Nie jest to najnowszy zestaw Java SDK dla usługi Azure Cosmos DB! Zdecydowanie zalecamy używanie zestawu Java SDK usługi Azure Cosmos DB w wersji 4 dla projektu. Aby przeprowadzić uaktualnienie, postępuj zgodnie z instrukcjami w przewodniku Migrowanie do zestawu Java SDK usługi Azure Cosmos DB w wersji 4 i przewodniku Reactor vs RxJava .

Ostrzeżenie

29 lutego 2024 r. zestaw Java SDK synchronizacji usługi Azure Cosmos DB w wersji 2.x zostanie wycofany. Usługa Azure Cosmos DB przestanie zapewniać dalszą konserwację i obsługę tego zestawu SDK po wycofaniu. Postępuj zgodnie z instrukcjami dostępnymi tutaj, aby przeprowadzić migrację do zestawu Java SDK usługi Azure Cosmos DB w wersji 4.

Łącza
Pobierz zestaw SDK Maven
Dokumentacja interfejsu API Dokumentacja referencyjna interfejsu API języka Java
Współtworzenie zestawu SDK GitHub
Rozpocznij Wprowadzenie do zestawu JAVA SDK
Samouczek dotyczący aplikacji internetowej Tworzenie aplikacji internetowych za pomocą usługi Azure Cosmos DB
Minimalne obsługiwane środowisko uruchomieniowe Zestaw Java Development Kit (JDK) 7+

Informacje o wersji

Oto informacje o wersji dla każdej wersji zestawu SDK.

2.6.5

  • Usunięto zależność com.google.guava/guava testowa z powodu luk w zabezpieczeniach
  • Uaktualniono zależność com.fasterxml.jackson.core/jackson-databind do wersji 2.14.0
  • Uaktualniono zależność commons-codec/commons-codec do wersji 1.15
  • Uaktualniono zależność org.json/json do 20180130

2.6.4

  • Naprawiono zasady ponawiania dla limitów czasu odczytu

2.6.3

  • Naprawiono zasady GoneException ponawiania po opakowaniu IllegalStateException — ta zmiana jest niezbędna, aby upewnić się, że pamięć podręczna bramy jest odświeżona na 410, aby łącznik Spark (dla platformy Spark 2.4) mógł używać niestandardowych zasad ponawiania, aby umożliwić wykonywanie zapytań na powodzenie podczas dzielenia partycji

2.6.2

  • Dodano nowe zasady ponawiania prób w celu ponawiania próby w przypadku przekroczenia limitu czasu odczytu
  • Uaktualniono zależność com.fasterxml.jackson.core/jackson-databind do wersji 2.9.10.8
  • Uaktualniono zależność org.apache.httpcomponents/httpclient do wersji 4.5.13

2.6.1

  • Usunięto usterkę w obsłudze zapytania za pośrednictwem międzyoperacyjności usługi.

2.6.0

  • Dodano obsługę wysyłania zapytań dotyczących zestawienia zmian z punktu w czasie.

2.5.1

  • Rozwiązano problem z podstawową pamięcią podręczną partycji w zapytaniu documentCollection.

2.5.0

  • Dodano obsługę 449 ponawiania próby konfiguracji niestandardowej.

2.4.7

  • Rozwiązuje problem z limitem czasu puli połączeń.
  • Poprawki odświeżania tokenu uwierzytelniania w wewnętrznych ponownych prób.

2.4.6

  • Zaktualizowano prawidłowy tag zasad repliki po stronie klienta w bazie danychKonto i zmieniono konfigurację bazy danychKonfiguracje konta odczytane z pamięci podręcznej.

2.4.5

  • Jeśli użytkownik udostępnia identyfikator pkRangeId, ta wersja nie będzie ponawiać próby w przypadku błędu nieprawidłowego zakresu kluczy partycji

2.4.4

  • Zoptymalizowane odświeżanie pamięci podręcznej zakresu kluczy partycji.
  • Naprawia scenariusz, w którym zestaw SDK nie obsługuje wskazówek podziału partycji z serwera i powoduje nieprawidłowe odświeżanie pamięci podręcznych routingu po stronie klienta.

2.4.2

  • Zoptymalizowane odświeżanie pamięci podręcznej kolekcji.

2.4.1

  • Dodano obsługę pobierania wewnętrznego komunikatu wyjątku z ciągu diagnostycznego żądania.

2.4.0

  • Wprowadzono interfejs API wersji dla właściwości PartitionKeyDefinition.

2.3.0

  • Dodano obsługę oddzielnego limitu czasu dla trybu bezpośredniego.

2.2.3

  • Korzystanie z komunikatu o błędzie o wartości null z usługi i generowanie wyjątku klienta dokumentu.

2.2.2

  • Ulepszenia połączenia gniazda, dodając wartość domyślną SoKeepAlive true.

2.2.0

  • Dodano obsługę ciągów diagnostycznych żądań.

2.1.3

  • Usunięto usterkę w kluczu partitionkey dla skrótu w wersji 2.

2.1.2

  • Dodano obsługę indeksów złożonych.
  • Usunięto usterkę w globalnym menedżerze punktów końcowych w celu wymuszenia odświeżania.
  • Usunięto usterkę dotyczącą operacji upsert z warunkami wstępnymi w trybie bezpośrednim.

2.1.1

  • Usunięto usterkę w pamięci podręcznej adresów bramy.

2.1.0

  • Obsługa zapisu w wielu regionach dodana dla trybu bezpośredniego.
  • Dodano obsługę zgłaszanych IOExceptions wyjątków ServiceUnavailable z serwera proxy.
  • Usunięto usterkę w zasadach ponawiania odnajdywania punktów końcowych.
  • Usunięto usterkę, aby upewnić się, że wyjątki wskaźnika null nie zostały zgłoszone w obiekcie BaseDatabaseAccountConfigurationProvider.
  • Usunięto usterkę, aby upewnić się, że funkcja QueryIterator nie zwraca wartości null.
  • Usunięto usterkę, aby upewnić się, że duży klucz partycji jest dozwolony.

2.0.0

  • Obsługa zapisu w wielu regionach dodana dla trybu bramy.

1.16.4

  • Usunięto usterkę w zakresach klucza partycji odczytu dla zapytania.

1.16.3

  • Usunięto usterkę podczas ustawiania rozmiaru nagłówka tokenu kontynuacji w trybie DirectHttps.

1.16.2

  • Dodano obsługę trybu failover przesyłania strumieniowego.
  • Dodano obsługę metadanych niestandardowych.
  • Ulepszona logika obsługi sesji.
  • Usunięto usterkę w pamięci podręcznej zakresu kluczy partycji.
  • Naprawiono usterkę NullPointerException (NPE) w trybie bezpośrednim.

1.16.1

  • Dodano obsługę indeksu unikatowego.
  • Dodano obsługę ograniczania rozmiaru tokenu kontynuacji w opcjach kanału informacyjnego.
  • Usunięto usterkę w serializacji Json (sygnatura czasowa).
  • Usunięto usterkę w serializacji Json (wyliczenie).
  • Zależność od com.fasterxml.jackson.core:jackson-databind uaktualniona do wersji 2.9.5.

1.16.0

  • Ulepszono buforowanie Połączenie ion dla trybu bezpośredniego.
  • Ulepszona poprawa pobierania wstępnego dla kwerendy między partycjami nieurządzanych.
  • Ulepszona generacja UUID.
  • Ulepszona logika spójności sesji.
  • Dodano obsługę wielopolygonu.
  • Dodano obsługę statystyk zakresu kluczy partycji dla kolekcji.
  • Usunięto usterkę w obsłudze wielu regionów.

1.15.0

  • Ulepszona wydajność serializacji w formacie JSON.
  • Ta wersja zestawu SDK wymaga najnowszej wersji emulatora usługi Azure Cosmos DB.

1.14.0

  • Wewnętrzne zmiany bibliotek znajomych firmy Microsoft.

1.13.0

  • Rozwiązano problem z odczytywaniem zakresów kluczy pojedynczej partycji.
  • Rozwiązano problem podczas analizowania identyfikatora ResourceID, który ma wpływ na bazę danych z krótkimi nazwami.
  • Rozwiązano problem powodujący kodowanie klucza partycji.

1.12.0

  • Krytyczne poprawki błędów dotyczące przetwarzania żądań podczas dzielenia partycji.
  • Rozwiązano problem z poziomami spójności Strong and BoundedStaleness.

1.11.0

  • Dodano obsługę nowego poziomu spójności o nazwie ConsistentPrefix.
  • Usunięto usterkę podczas odczytywania kolekcji w trybie sesji.

1.10.0

  • Włączona obsługa partycjonowanej kolekcji o rozmiarze 2500 RU/s i skalowanie w przyrostach 100 RU/s.
  • Naprawia usterkę w zestawie natywnym, co może spowodować wyjątek NullRef w niektórych zapytaniach.

1.9.6

  • Usunięto usterkę w konfiguracji aparatu zapytań, która może powodować wyjątki dla zapytań w trybie bramy.
  • Usunięto kilka usterek w kontenerze sesji, które mogą powodować wyjątek "Nie znaleziono zasobu właściciela" dla żądań natychmiast po utworzeniu kolekcji.

1.9.5

  • Dodano obsługę zapytań agregacji (COUNT, MIN, MAX, SUM i AVG).
  • Dodano obsługę zestawienia zmian.
  • Dodano obsługę informacji o limitach przydziału kolekcji za pomocą elementu RequestOptions.setPopulateQuotaInfo.
  • Dodano obsługę rejestrowania skryptów procedury składowanej za pośrednictwem elementu RequestOptions.setScriptLoggingEnabled.
  • Usunięto usterkę polegającą na tym, że zapytanie w trybie DirectHttps mogło przestać odpowiadać podczas napotkania błędów ograniczania przepustowości.
  • Usunięto usterkę w trybie spójności sesji.
  • Naprawia usterkę, która może spowodować wyjątek NullReferenceException w obiekcie HttpContext, gdy szybkość żądań jest wysoka.
  • Zwiększona wydajność trybu DirectHttps.

1.9.4

  • Dodano prostą obsługę serwera proxy opartego na wystąpieniu klienta przy użyciu interfejsu API Połączenie ionPolicy.setProxy().
  • Dodano interfejs API DocumentClient.close(), aby prawidłowo zamknąć wystąpienie obiektu DocumentClient.
  • Zwiększona wydajność zapytań w trybie łączności bezpośredniej przez wyprowadzenie planu zapytania z zestawu natywnego zamiast bramy.
  • Ustaw FAIL_ON_UNKNOWN_PROPERTIES = false, aby użytkownicy nie musieli definiować właściwości JsonIgnoreProperties w zwykły stary obiekt Java (POJO).
  • Refaktoryzowane rejestrowanie w celu korzystania z SLF4J.
  • Usunięto kilka innych usterek w czytniku spójności.

1.9.3

  • Usunięto usterkę w zarządzaniu połączeniami, aby zapobiec wyciekom połączeń w trybie łączności bezpośredniej.
  • Usunięto usterkę w zapytaniu TOP, która mogła zgłaszać wyjątek NullReference.
  • Zwiększona wydajność dzięki zmniejszeniu liczby wywołań sieciowych dla wewnętrznych pamięci podręcznych.
  • Dodano kod stanu, identyfikator ActivityID i identyfikator URI żądania w dokumencie DocumentClientException, aby uzyskać lepsze rozwiązywanie problemów.

1.9.2

  • Rozwiązano problem z zarządzaniem połączeniami w celu zapewnienia stabilności.

1.9.1

  • Dodano obsługę poziomu spójności BoundedStaleness.
  • Dodano obsługę bezpośredniej łączności dla operacji CRUD dla kolekcji partycjonowanych.
  • Usunięto usterkę podczas wykonywania zapytań względem bazy danych przy użyciu języka SQL.
  • Usunięto usterkę w pamięci podręcznej sesji, w której token sesji mógł być niepoprawnie ustawiony.

1.9.0

  • Dodano obsługę zapytań równoległych między partycjami.
  • Dodano obsługę zapytań TOP/ORDER BY dla kolekcji partycjonowanych.
  • Dodano obsługę silnej spójności.
  • Dodano obsługę żądań opartych na nazwach podczas korzystania z łączności bezpośredniej.
  • Naprawiono problem polegający na tym, że identyfikator ActivityId stał się spójny we wszystkich ponownych próbach żądań.
  • Usunięto usterkę związaną z pamięcią podręczną sesji podczas ponownego tworzenia kolekcji o tej samej nazwie.
  • Dodano funkcje Polygon i LineString DataTypes podczas określania zasad indeksowania kolekcji dla zapytań przestrzennych ogrodzenia geograficznego.
  • Rozwiązano problemy z dokumentem Java dla języka Java 1.8.

1.8.1

  • Usunięto usterkę w pliku PartitionKeyDefinitionMap w celu buforowania kolekcji z jedną partycją i nie wysyłano dodatkowych żądań klucza partycji.
  • Usunięto usterkę uniemożliwiającą ponowienie próby po podaniu nieprawidłowej wartości klucza partycji.

1.8.0

  • Dodano obsługę kont bazy danych w wielu regionach.
  • Dodano obsługę automatycznego ponawiania prób w przypadku żądań ograniczonych z opcjami w celu dostosowania maksymalnej liczby ponownych prób i maksymalnego czasu oczekiwania na ponowienie próby. Aby uzyskać więcej informacji, zobacz RetryOptions i Połączenie ionPolicy.getRetryOptions().
  • Przestarzały kod partycjonowania niestandardowego IPartitionResolver. Użyj kolekcji partycjonowanych w celu uzyskania większej ilości miejsca do magazynowania i przepływności.

1.7.1

  • Dodano obsługę zasad ponawiania prób dla ograniczania szybkości.

1.7.0

  • Dodano czas obsługi wygaśnięcia (TTL) dla dokumentów.

1.6.0

  • Zaimplementowano kolekcje partycjonowane i poziomy wydajności zdefiniowane przez użytkownika.

1.5.1

  • Usunięto usterkę w module HashPartitionResolver, aby wygenerować wartości skrótu w języku little-endian, aby były spójne z innymi zestawami SDK (software development kit).

1.5.0

  • Dodaj narzędzia rozpoznawania partycji skrótu i zakresu, aby ułatwić dzielenie aplikacji na fragmenty w wielu partycjach.

1.4.0

  • Zaimplementuj upsert. Dodano nowe metody upsertXXX w celu obsługi funkcji Upsert.
  • Zaimplementuj routing oparty na identyfikatorach. Brak zmian publicznego interfejsu API, wszystkie zmiany wewnętrzne.

1.3.0

  • Wydanie pominięte w celu dostosowania numeru wersji do innych zestawów SDK

1.2.0

  • Obsługuje indeks geoprzestrzenny.
  • Sprawdza poprawność właściwości identyfikatora dla wszystkich zasobów. Identyfikatory zasobów nie mogą zawierać ?znaków , /, #, \, ani spacji.
  • Dodaje nowy nagłówek "postęp przekształcania indeksu" do elementu ResourceResponse.

1.1.0

  • Implementuje zasady indeksowania w wersji 2

1.0.0

  • Zestaw SDK ogólnej dostępności

Daty wydania i wycofania

Firma Microsoft udostępnia powiadomienie co najmniej 12 miesięcy przed wycofaniem zestawu SDK w celu złagodzenia przejścia na nowszą/obsługiwaną wersję. Nowe funkcje i funkcje i optymalizacje są dodawane tylko do bieżącego zestawu SDK. Zalecamy, aby zawsze uaktualnić do najnowszej wersji zestawu SDK tak szybko, jak to możliwe.

Ostrzeżenie

Po 30 może 2020 r. usługa Azure Cosmos DB nie będzie już wprowadzać poprawek błędów, dodawać nowych funkcji i zapewniać obsługę wersji 1.x zestawu Java SDK usługi Azure Cosmos DB dla interfejsu API for NoSQL. Jeśli nie chcesz przeprowadzać uaktualnienia, żądania wysyłane z wersji 1.x zestawu SDK będą nadal obsługiwane przez usługę Azure Cosmos DB.

Po 29 lutego 2016 r. usługa Azure Cosmos DB nie będzie już wprowadzać poprawek błędów, dodawać nowych funkcji i zapewniać obsługę wersji 0.x zestawu Java SDK usługi Azure Cosmos DB dla interfejsu API for NoSQL. Jeśli nie chcesz uaktualnić, żądania wysyłane z wersji 0.x zestawu SDK będą nadal obsługiwane przez usługę Azure Cosmos DB.

Wersja Data wydania Data wycofania
2.6.1 17 grudnia 2020 r. 29 lutego 2024 r.
2.6.0 16 lipca 2020 r. 29 lutego 2024 r.
2.5.1 3 czerwca 2020 r. 29 lutego 2024 r.
2.5.0 12 maj 2020 r. 29 lutego 2024 r.
2.4.7 20 lutego 2020 r. 29 lutego 2024 r.
2.4.6 24 stycznia 2020 r. 29 lutego 2024 r.
2.4.5 10 listopada 2019 r. 29 lutego 2024 r.
2.4.4 24 października 2019 r. 29 lutego 2024 r.
2.4.2 26 września 2019 r. 29 lutego 2024 r.
2.4.1 18 lipca 2019 r. 29 lutego 2024 r.
2.4.0 4 maja 2019 r. 29 lutego 2024 r.
2.3.0 24 kwietnia 2019 r. 29 lutego 2024 r.
2.2.3 16 kwietnia 2019 r. 29 lutego 2024 r.
2.2.2 5 kwietnia 2019 r. 29 lutego 2024 r.
2.2.0 27 marca 2019 r. 29 lutego 2024 r.
2.1.3 13 marca 2019 r. 29 lutego 2024 r.
2.1.2 Mar 09, 2019 29 lutego 2024 r.
2.1.1 13 grudnia 2018 r. 29 lutego 2024 r.
2.1.0 20 listopada 2018 r. 29 lutego 2024 r.
2.0.0 21 września 2018 r. 29 lutego 2024 r.
1.16.4 10 września 2018 r. 30 maja 2020 r.
1.16.3 9 września 2018 r. 30 maja 2020 r.
1.16.2 29 czerwca 2018 r. 30 maja 2020 r.
1.16.1 16 maja 2018 r. 30 maja 2020 r.
1.16.0 15 marca 2018 r. 30 maja 2020 r.
1.15.0 14 listopada 2017 r. 30 maja 2020 r.
1.14.0 28 października 2017 r. 30 maja 2020 r.
1.13.0 25 sierpnia 2017 r. 30 maja 2020 r.
1.12.0 wtorek, 11 lipca 2017 r. 30 maja 2020 r.
1.11.0 10 maja 2017 30 maja 2020 r.
1.10.0 sobota, 11 marca 2017 r. 30 maja 2020 r.
1.9.6 21 lutego 2017 r. 30 maja 2020 r.
1.9.5 31 stycznia 2017 30 maja 2020 r.
1.9.4 24 listopada 2016 r. 30 maja 2020 r.
1.9.3 30 października 2016 r. 30 maja 2020 r.
1.9.2 28 października 2016 r. 30 maja 2020 r.
1.9.1 26 października 2016 r. 30 maja 2020 r.
1.9.0 3 października 2016 r. 30 maja 2020 r.
1.8.1 30 czerwca 2016 r. 30 maja 2020 r.
1.8.0 14 czerwca 2016 r. 30 maja 2020 r.
1.7.1 30 kwietnia 2016 r. 30 maja 2020 r.
1.7.0 27 kwietnia 2016 r. 30 maja 2020 r.
1.6.0 29 marca 2016 r. 30 maja 2020 r.
1.5.1 czwartek, 31 grudnia 2015 r. 30 maja 2020 r.
1.5.0 4 grudnia 2015 r. 30 maja 2020 r.
1.4.0 5 października 2015 r. 30 maja 2020 r.
1.3.0 5 października 2015 r. 30 maja 2020 r.
1.2.0 5 sierpnia 2015 r. 30 maja 2020 r.
1.1.0 9 lipca 2015 r. 30 maja 2020 r.
1.0.1 12 maja 2015 r. 30 maja 2020 r.
1.0.0 7 kwietnia 2015 r. 30 maja 2020 r.
0.9.5-prelease Mar 09, 2015 29 lutego 2016 r.
0.9.4-prelease 17 lutego 2015 r. 29 lutego 2016 r.
0.9.3-prelease wtorek, 13 stycznia 2015 r. 29 lutego 2016 r.
0.9.2-prelease 19 grudnia 2014 r. 29 lutego 2016 r.
0.9.1-prelease 19 grudnia 2014 r. 29 lutego 2016 r.
0.9.0-prelease 10 grudnia 2014 r. 29 lutego 2016 r.

Często zadawane pytania

W jaki sposób będę otrzymywać powiadomienia o wycofywanym zestawie SDK?

Firma Microsoft wyśle powiadomienie na 12 miesięcy przed zakończeniem obsługi wycofywanego zestawu SDK, aby ułatwić bezproblemowe przejście do obsługiwanego zestawu SDK. Powiadomimy Cię za pośrednictwem różnych kanałów komunikacyjnych: witryny Azure Portal, aktualizacji platformy Azure i komunikacji bezpośredniej z przypisanymi administratorami usług.

Czy w ciągu tego 12-miesięcznego okresu mogę tworzyć aplikacje przy użyciu zestawu SDK Azure Cosmos DB?

Tak, w ciągu tego 12-miesięcznego okresu będziesz mieć możliwość tworzenia, wdrażania i modyfikowania aplikacji przy użyciu wycofywanego zestawu SDK Azure Cosmos DB. Zalecamy migrację do nowej obsługiwanej wersji zestawu SDK Azure Cosmos DB w ciągu tego 12-miesięcznego okresu zgodnie z potrzebami.

Co się stanie z aplikacjami korzystającymi z nieobsługiwanego zestawu SDK Azure Cosmos DB po jego wycofaniu?

Po dacie wycofania zespół Azure Cosmos DB nie będzie już opracowywał poprawek błędów, dodawał nowych funkcji ani zapewniał pomocy technicznej dla wycofanych wersji zestawu SDK. Jeśli nie chcesz przeprowadzać uaktualnienia, żądania wysyłane z wycofanej wersji zestawu SDK będą nadal obsługiwane przez usługę Azure Cosmos DB.

Które wersje zestawu SDK będą mieć najnowsze funkcje i aktualizacje?

Nowe funkcje i aktualizacje będą dodawane tylko do najnowszej wersji pomocniczej najnowszej obsługiwanej wersji zestawu SDK. Zalecamy używanie najnowszej wersji, aby korzystać z nowych funkcji, ulepszeń wydajności i poprawek błędów. Jeśli używasz starej, niewycofanej wersji zestawu SDK, żądania wysyłane do usługi Azure Cosmos DB będą nadal działać, ale nie będziesz mieć dostępu do żadnych nowych funkcji.

Co zrobić, jeśli nie mogę zaktualizować aplikacji przed datą progową?

Zalecamy przeprowadzenie uaktualnienia do najnowszej wersji zestawu SDK tak szybko, jak to możliwe. Gdy zestaw SDK zostanie oznaczony do wycofania, będziesz mieć 12 miesięcy na zaktualizowanie swojej aplikacji. Jeśli nie uda Ci się wykonać aktualizacji przed datą wycofania, żądania wysyłane z wycofanych wersji zestawu SDK nadal będą obsługiwane przez usługę Azure Cosmos DB, a zatem Twoje uruchomione aplikacje będą nadal działać. Jednak zespół Azure Cosmos DB nie będzie już opracowywał poprawek błędów, dodawał nowych funkcji ani zapewniał pomocy technicznej dla wycofanych wersji zestawu SDK.

Jeśli masz plan pomocy technicznej i potrzebujesz pomocy technicznej, skontaktuj się z nami, tworząc bilet pomocy technicznej.

Jak mogę zażądać dodania funkcji do zestawu SDK lub łącznika?

Nowe funkcje nie zawsze są natychmiast dodawane do każdego zestawu SDK lub łącznika. Jeśli funkcja nie jest obsługiwana, którą chcesz dodać, dodaj opinię do naszego forum społeczności.