Пакет SDK для Java для Azure Cosmos DB (устаревшая версия): заметки о выпуске и ресурсы

ОБЛАСТЬ ПРИМЕНЕНИЯ: NoSQL

В этой статье описывается пакет SDK Java для синхронизации Azure Cosmos DB версии 2 для API для NoSQL. Этот API поддерживает только синхронные операции.

Внимание

Это не последняя версия пакета SDK для Java для Azure Cosmos DB! Настоятельно рекомендуется использовать пакет SDK Java для Azure Cosmos DB версии 4 для проекта. Следуйте инструкциям из руководства по переходу на использование пакета SDK для Java версии 4 для Azure Cosmos DB и статье о Reactor и RxJava.

Предупреждение

По состоянию на 29 февраля 2024 г. пакет SDK Для Синхронизации Java для Azure Cosmos DB версии 2.x теперь прекращен. Azure Cosmos DB больше не предоставляет обслуживание или поддержку этого пакета SDK после выхода на пенсию. Следуйте инструкциям, приведенным здесь , чтобы перенести пакет SDK Java для Azure Cosmos DB версии 4.

Ссылки.
Скачивание пакета SDK Maven
Документация по API Справочная документация по API Java
Участие в разработке пакета SDK GitHub
Начало работы Приступая к работе с пакетом SDK для Java
Учебник по веб-приложениям Руководство по ASP.NET MVC. Разработка веб-приложений в Azure Cosmos DB
Минимальная поддерживаемая среда выполнения Пакет средств разработки Java (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

  • Исправлена политика повтора, когда GoneException заключается в оболочку IllegalStateException. Это изменение необходимо, чтобы обеспечить обновление кэша шлюза при ошибке 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

  • Исправлена ошибка при обработке запроса через взаимодействие служб.

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

  • Представлен API версии в PartitionKeyDefinition.

2.3.0

  • Добавлена отдельная поддержка тайм-аутов для прямого режима.

2.2.3

  • Извлечение пустого сообщения об ошибке из службы и создание исключения клиента документа.

2.2.2

  • Улучшение подключения к сокету, значение SoKeepAlive по умолчанию установлено в true.

2.2.0

  • Добавлена поддержка строк диагностики запросов.

2.1.3

  • Исправлена ошибка в PartitionKey для Hash V2.

2.1.2

  • Добавлена поддержка составных индексов.
  • Исправлена ошибка в глобальном диспетчере конечных точек для принудительного обновления.
  • Исправлена ошибка для операций upsert с предварительными условиями в прямом режиме.

2.1.1

  • Исправлена ошибка в кэше адресов шлюза.

2.1.0

  • Поддержка записи в нескольких регионах, добавленная для прямого режима.
  • Добавлена поддержка обработки IOExceptions , вызываемой в качестве ServiceUnavailable исключений, из прокси-сервера.
  • Исправлена ошибка в политике повтора обнаружения конечных точек.
  • Исправлена ошибка, чтобы гарантировать, что исключения указателя null не возникают в BaseDatabaseAccountConfigurationProvider.
  • Исправлена ошибка, которая гарантирует, что QueryIterator не возвращает значения NULL.
  • Исправлена ошибка, обеспечивая разрешение большого секционирования.

2.0.0

  • Поддержка записи в нескольких регионах, добавленная для режима шлюза.

1.16.4

  • Исправлена ошибка в чтении диапазонов ключей секций для запроса.

1.16.3

  • Исправлена ошибка в настройке размера заголовка маркера продолжения в режиме DirectHttps.

1.16.2

  • Добавлена поддержка отработки отказа потоковой передачи.
  • Добавлена поддержка для пользовательских метаданных.
  • Улучшена логика обработки сеанса.
  • Исправлена ошибка в кэше диапазона ключей секций.
  • Исправлена NullPointerException ошибка (NPE) в прямом режиме.

1.16.1

  • Добавлена поддержка уникальных индексов.
  • Добавлена поддержка ограничения размера маркера продолжения в параметрах веб-канала.
  • Исправлена ошибка сериализации JSON (метка времени).
  • Исправлена ошибка сериализации JSON (перечисление).
  • Зависимость от com.fasterxml.jackson.core:jackson-databind обновлена до версии 2.9.5.

1.16.0

  • Улучшен пул подключений для режима прямого подключения.
  • Улучшено улучшение предварительной выборки для запроса между секциями, не относящихся к неупорядочению.
  • Улучшено создание UUID.
  • Улучшена логика согласованности сеанса.
  • Добавлена поддержка MultiPolygon.
  • Добавлена поддержка статистики диапазона ключей секции для коллекции.
  • Исправлена ошибка, возникающая при поддержке нескольких регионов.

1.15.0

  • Повышенная производительность сериализации JSON.
  • Для этой версии пакета SDK требуется последняя версия эмулятора Azure Cosmos DB.

1.14.0

  • Внутренние изменения в библиотеках партнеров корпорации Майкрософт.

1.13.0

  • Устранена проблема при считывании диапазонов односекционных ключей.
  • Устранена проблема с синтаксическим анализом в ResourceID, которая затрагивала базы данных с сокращенными именами.
  • Исправлена проблема, вызванная кодированием ключа секции.

1.12.0

  • Важные исправления для обработки запросов во время разбиения на секции.
  • Исправлена проблема с уровнями согласованности Strong и BoundedStaleness.

1.11.0

  • Добавлена поддержка нового уровня согласованности с именем ConsistentPrefix.
  • Исправлена ошибка чтения коллекции в режиме сеанса.

1.10.0

  • Включена поддержка секционированных коллекций с производительностью 2500 ЕЗ/с, а также масштабирование с шагом в 100 ЕЗ/с.
  • Исправлена ошибка в собственной сборке, которая может вызвать исключение NullRef в некоторых запросах.

1.9.6

  • Исправлена ошибка в конфигурации обработчика запросов, которая может вызвать исключения для запросов в режиме шлюза.
  • Исправлены некоторые ошибки в контейнере сеансов, которые могут вызвать исключение "Ресурс владельца не найден" для запросов сразу после создания коллекции.

1.9.5

  • Добавлена поддержка статистических запросов (COUNT, MIN, MAX, SUM и AVG).
  • Добавлена поддержка веб-канала изменений.
  • Добавлена поддержка сведений о квотах коллекций посредством RequestOptions.setPopulateQuotaInfo.
  • Добавлена поддержка ведения журнала сценариев хранимых процедур посредством RequestOptions.setScriptLoggingEnabled.
  • Исправлена ошибка, из-за которой запрос в режиме DirectHttps может перестать отвечать при возникновении сбоев регулирования.
  • Исправлена ошибка в режиме согласованности сеанса.
  • Исправлена ошибка, которая может привести к возникновению ошибки NULLReferenceException в HttpContext при высокой скорости запроса.
  • Повышена производительность режима DirectHttps.

1.9.4

  • Добавлена поддержка прокси-сервера на основе экземпляра простого клиента с помощью API ConnectionPolicy.setProxy().
  • Добавлен API DocumentClient.close(), чтобы правильно закрыть экземпляр DocumentClient.
  • Повышена производительность запросов в режиме прямого подключения за счет получения плана запроса от машинной сборки, а не шлюза.
  • Задайте FAIL_ON_UNKNOWN_PROPERTIES = false, чтобы пользователям не нужно было определять JsonIgnoreProperties в их обычном старом объекте Java (POJO).
  • Выполнен рефакторинг ведения журнала для использования SLF4J.
  • Исправлено несколько ошибок в модуле чтения данных согласованности.

1.9.3

  • Исправлена ошибка в управлении подключениями для предотвращения утечек в режиме прямого подключения.
  • Исправлена ошибка в запросе TOP, в котором может возникать исключение NullReference.
  • Улучшена производительность, уменьшая количество сетевых вызовов для внутренних кэшей.
  • Добавлен код состояния, ActivityID и URI запроса в DocumentClientException для улучшения устранения неполадок.

1.9.2

  • Исправлена проблема в управлении подключениями для повышения стабильности.

1.9.1

  • Добавлена поддержка уровня согласованности BoundedStaleness.
  • Добавлена поддержка прямого подключения для операций CRUD с секционированными коллекциями.
  • Исправлена ошибка, возникающая при выполнении запросов к базе данных с помощью SQL.
  • Исправлена ошибка в кэше сеансов, в котором маркер сеанса может быть задан неправильно.

1.9.0

  • Добавлена поддержка параллельных запросов между секциями.
  • Добавлена поддержка запросов TOP и ORDER BY для секционированных коллекций.
  • Добавлена поддержка строгой согласованности.
  • Добавлена поддержка запросов по имени при использовании прямого подключения.
  • Внесено исправление, обеспечивающее согласованность ActivityId для всех попыток выполнения запроса.
  • Исправлена ошибка, связанная с кэшем сеанса и воссозданием коллекции с тем же именем.
  • Добавлены типы данных Polygon и LineString и задана политика индексирования коллекций для запросов пространственных геозон.
  • Устранены проблемы с JavaDoc для Java 1.8.

1.8.1

  • Исправлена ошибка в PartitionKeyDefinitionMap, из-за которой осуществлялось кэширование коллекций одной секции и не выполнялись дополнительные запросы на получение ключа секции.
  • Исправлена ошибка, из-за которой при предоставлении неправильного ключа секции не предпринималась повторная попытка.

1.8.0

  • Добавлена поддержка учетных записей базы данных в нескольких регионах.
  • Добавлена поддержка автоматического повтора на отрегулированных запросов с параметрами для настройки максимального количества повторов и максимального время между повторами. Дополнительные сведения см. в разделе RetryOptions и Подключение ionPolicy.getRetryOptions().
  • Не рекомендуется использовать IPartitionResolver на основе пользовательского кода секционирования. Используйте секционированные коллекции для более высокого уровня хранилища и пропускной способности.

1.7.1

  • Добавлена поддержка политики повтора для ограничения скорости.

1.7.0

  • Добавлена поддержка срока жизни для документов.

1.6.0

1.5.1

  • Исправлена ошибка в HashPartitionResolver для создания хэш-значений в маленьком эндиане для обеспечения согласованности с другими пакетами средств разработки программного обеспечения (SDK).

1.5.0

  • Добавьте сопоставители разделов "Хэш" и "Диапазон" для сегментирования приложений на разделы.

1.4.0

  • Реализована операция Upsert. Для поддержки функции Upsert добавлены новые методы upsertXXX.
  • Реализована маршрутизация на основе идентификатора. Отсутствуют изменения общего API-интерфейса. Все изменения касаются внутреннего интерфейса.

1.3.0

  • Пропущен номер выпуска для согласованности номера версии с другими пакетами SDK.

1.2.0

  • Поддерживает геопространственный индекс.
  • Проверка свойств идентификатора для всех ресурсов. Идентификаторы ресурсов не могут содержать ?, /, #, символы \или заканчиваться пробелом.
  • Добавлен новый заголовок "ход выполнения преобразования индекса" в ResourceResponse.

1.1.0

  • Реализована политика индексации версии 2.

1.0.0

  • Пакет SDK общей доступности.

Даты выпуска и выбытия

Корпорация Майкрософт отправляет уведомление минимум за 12 месяцев до вывода пакета SDK из эксплуатации, чтобы обеспечить более плавный переход на новую или поддерживаемую версию. Новые компоненты, функции и средства оптимизации добавлены только в текущий пакет SDK. Рекомендуется всегда обновлять последнюю версию пакета SDK как можно раньше.

Предупреждение

После 30 может 2020 г. Azure Cosmos DB больше не исправлять ошибки, добавлять новые функции и предоставлять поддержку версиям 1.x пакета SDK Java для Azure Cosmos DB для API для NoSQL. Даже если вы не выполните обновление, запросы, отправляемые из версий 1.х пакета SDK, будут обрабатываться службой Azure Cosmos DB.

После 29 февраля 2016 года Azure Cosmos DB больше не исправит ошибки, добавит новые функции и обеспечивает поддержку версий 0.x пакета SDK Java для Azure Cosmos DB для API для NoSQL. Даже если вы не выполните обновление, запросы, отправляемые из версий 0.х пакета SDK, будут обрабатываться службой Azure Cosmos DB.

Версия Дата выпуска Дата прекращения поддержки
2.6.1 17 декабря 2020 г. 29 февраля 2024 г.
2.6.0 16 июля 2020 г. 29 февраля 2024 г.
2.5.1 3 июня 2020 г. 29 февраля 2024 г.
2.5.0 12 мая 2020 года. 29 февраля 2024 г.
2.4.7 20 февраля 2020 г. 29 февраля 2024 г.
2.4.6 24 января 2020 г. 29 февраля 2024 г.
2.4.5 10 ноября 2019 г. 29 февраля 2024 г.
2.4.4 24 октября 2019 г. 29 февраля 2024 г.
2.4.2 26 сентября 2019 г. 29 февраля 2024 г.
2.4.1 18 июля 2019 г. 29 февраля 2024 г.
2.4.0 04 мая 2019 г. 29 февраля 2024 г.
2.3.0 24 апреля 2019 г. 29 февраля 2024 г.
2.2.3 16 апреля 2019 г. 29 февраля 2024 г.
2.2.2 05 апреля 2019 г. 29 февраля 2024 г.
2.2.0 27 марта 2019 г. 29 февраля 2024 г.
2.1.3 13 марта 2019 г. 29 февраля 2024 г.
2.1.2 09 марта 2019 г. 29 февраля 2024 г.
2.1.1 13 декабря 2018 г. 29 февраля 2024 г.
2.1.0 20 ноября 2018 г. 29 февраля 2024 г.
2.0.0 21 сентября 2018 г. 29 февраля 2024 г.
1.16.4 10 сентября 2018 г. 30 мая 2020 г.
1.16.3 9 сентября 2018 г. 30 мая 2020 г.
1.16.2 29 июня 2018 г. 30 мая 2020 г.
1.16.1 16 мая 2018 г. 30 мая 2020 г.
1.16.0 15 марта 2018 г. 30 мая 2020 г.
1.15.0 14 ноября 2017 г. 30 мая 2020 г.
1.14.0 28 октября 2017 г. 30 мая 2020 г.
1.13.0 25 августа 2017 г. 30 мая 2020 г.
1.12.0 11 июля 2017 г. 30 мая 2020 г.
1.11.0 10 мая 2017 года 30 мая 2020 г.
1.10.0 11 марта 2017 г. 30 мая 2020 г.
1.9.6 21 февраля 2017 г. 30 мая 2020 г.
1.9.5 31 января 2017 года 30 мая 2020 г.
1.9.4 24 ноября 2016 г. 30 мая 2020 г.
1.9.3 30 октября 2016 г. 30 мая 2020 г.
1.9.2 28 октября 2016 г. 30 мая 2020 г.
1.9.1 26 октября 2016 г. 30 мая 2020 г.
1.9.0 3 октября 2016 г. 30 мая 2020 г.
1.8.1 30 июня 2016 г. 30 мая 2020 г.
1.8.0 14 июня 2016 г. 30 мая 2020 г.
1.7.1 30 апреля 2016 г. 30 мая 2020 г.
1.7.0 27 апреля 2016 г. 30 мая 2020 г.
1.6.0 29 марта 2016 г. 30 мая 2020 г.
1.5.1 31 декабря 2015 г. 30 мая 2020 г.
1.5.0 4 декабря 2015 г. 30 мая 2020 г.
1.4.0 5 октября 2015 г. 30 мая 2020 г.
1.3.0 5 октября 2015 г. 30 мая 2020 г.
1.2.0 5 августа 2015 г. 30 мая 2020 г.
1.1.0 9 июля 2015 г. 30 мая 2020 г.
1.0.1 12 мая 2015 г. 30 мая 2020 г.
1.0.0 7 апреля 2015 г. 30 мая 2020 г.
0.9.5-prelease 9 марта 2015 г. 29 февраля 2016 г.
0.9.4-prelease 17 февраля 2015 г. 29 февраля 2016 г.
0.9.3-prelease 13.01.15 29 февраля 2016 г.
0.9.2-prelease 19 декабря 2014 г. 29 февраля 2016 г.
0.9.1-prelease 19 декабря 2014 г. 29 февраля 2016 г.
0.9.0-prelease 10 декабря 2014 г. 29 февраля 2016 г.

Часто задаваемые вопросы

Как меня уведомят о прекращении поддержки пакета SDK?

Корпорация Майкрософт за 12 месяцев отправит предварительное уведомление об окончании поддержки пакета SDK, чтобы обеспечить более плавный переход на поддерживаемый пакет SDK. Вы будете уведомлены через разные каналы связи, включая портал Azure и обновления Azure, а также непосредственное общение с назначенными администраторами служб.

Могу ли я во время этого периода в 12 месяцев создавать приложения, используя пакет SDK для Azure Cosmos DB, поддержка которого будет прекращена?

Да, в течение 12-месячного периода уведомления вы сможете разрабатывать, развертывать и изменять приложения с помощью пакета SDK для Azure Cosmos DB, поддержка которого будет прекращена. Мы рекомендуем при удобной возможности перейти на новую поддерживаемую версию Azure Cosmos DB пакета SDK в течение 12-месячного периода уведомления.

Что произойдет с приложениями, использующими неподдерживаемый пакет SDK Azure Cosmos DB, после истечения этого срока?

После прекращения поддержки 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 или соединители сразу. Если вам хотелось бы добавить функцию, которая в настоящее время не поддерживается, напишите об этом на нашем форуме сообщества.