Spring Data Azure Cosmos DB версии 2 для API для NoSQL (устаревшая версия): заметки о выпуске и ресурсы

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

Spring Data Azure Cosmos DB версии 2 для NoSQL позволяет разработчикам использовать Azure Cosmos DB в приложениях Spring. Spring Data Azure Cosmos DB предоставляет интерфейс Spring Data для управления базами данных и коллекциями, работы с документами и выдачи запросов. Как синхронные, так и асинхронные (реактивные) API поддерживаются в одном и том же артефакте Maven.

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

Эта версия пакета SDK для Spring Data Azure Cosmos DB зависит от устаревшей версии пакета SDK Java для Azure Cosmos DB. В ближайшее время пакет SDK Azure Cosmos DB для Spring Data Azure Cosmos DB будет объявлен как устаревший! Это не последний пакет SDK Azure Spring Data Azure Cosmos DB для Azure Cosmos DB и устарел. Из-за проблем с производительностью и нестабильности в azure Spring Data Azure Cosmos DB SDK версии 2 настоятельно рекомендуется использовать Azure Spring Data Azure Cosmos DB версии 3 для вашего проекта. Следуйте инструкциям по обновлению в руководстве Миграция на пакет SDK для Java в Azure Cosmos DB версии 4 и изучите различия в пакете SDK для Java версии 4.

Spring Framework — это модель программирования и конфигурации, которая упрощает разработку приложений Java. Spring упрощает "коммуникацию" приложений с помощью внедрения зависимостей. Многие разработчики предпочитают Spring, поскольку это значительно упрощает создание и тестирование приложений. Spring Boot расширяет возможности такой обработки коммуникации за счет направленности на разработку веб-приложений и микрослужб. Spring Data — это модель программирования для доступа к хранилищам данных, таким как Azure Cosmos DB, из контекста приложения Spring или Spring Boot.

Можно использовать Spring Data Azure Cosmos DB в своих приложениях, размещенных в Azure Spring Apps.

Важно!

Эти заметки о выпуске относятся к Spring Data Azure Cosmos DB версии 2. Заметки о выпуске для версии 3 см. здесь.

Spring Data Azure Cosmos DB поддерживает только API для NoSQL.

Сведения о Spring Data в других интерфейсах API Azure Cosmos DB доступны в следующих статьях:

Хотите быстро перейти к работе?

  1. Установите минимальную поддерживаемую среду выполнения Java (JDK 8), чтобы можно было использовать пакет SDK.
  2. Создайте приложение Spring Data Azure Cosmos DB с помощью начального приложения. Это просто!
  3. Воспользуйтесь руководством разработчика для Spring Data Azure Cosmos DB, в котором приведены инструкции по выполнению простых запросов к Azure Cosmos DB.

Вы можете быстро загружать начальные приложения Spring Boot с помощью Spring Initializr.

Ресурсы

Ресурс Установить связь
Скачивание пакета SDK Maven
Документация по API Справочная документация по Spring Data Azure Cosmos DB
Участие в разработке QDK Репозиторий Spring Data Azure Cosmos DB на портале GitHub
Начальное приложение Spring Boot Клиентская библиотека начального приложения Spring Boot для Java для Azure Cosmos DB
Руководство разработчика Руководство для разработчиков Spring Data Azure Cosmos DB
Использование начального приложения Использование Spring Boot Starter с Azure Cosmos DB для NoSQL
Репозиторий GitHub для начального приложения Spring Boot для Azure Cosmos DB
Пример с использованием Службы приложений Azure Использование Spring и Azure Cosmos DB с Служба приложений в Linux

История выпусков

2.3.0 (21 мая 2020 г.)

Новые возможности

  • Обновляет Spring Boot до версии 2.3.0.

2.2.5 (19 мая 2020 г.)

Новые возможности

  • Обновляет Azure Cosmos DB до версии 3.7.3.

Основные исправления ошибок

  • Содержит исправления утечки памяти и обновления версий Netty из пакета SDK 3.7.3 для Azure Cosmos DB.

2.2.4 (6 апреля 2020 г.)

Основные исправления ошибок

  • Исправляет флаг allowTelemetry, передаваемый из CosmosDbConfig.
  • Исправляет свойство TTL в контейнере.

2.2.3 (25 февраля 2020 г.)

Новые возможности

  • Добавляет новый элемент findAll с помощью API ключа секции.
  • Обновляет Azure Cosmos DB до версии 3.7.0.

Основные исправления ошибок

  • Исправляет collectionName ->containerName.
  • Исправляет entityClass и domainClass ->domainType.
  • Исправляет сохранение коллекции возвращаемых сущностей репозиторием вместо входной сущности.

2.1.10 (25 февраля 2020 г.)

Основные исправления ошибок

  • Реализует исправление сохранения коллекции возвращаемых сущностей репозиторием вместо входной сущности для прежних версий.

2.2.2 (15 января 2020 г.)

Новые возможности

  • Обновляет Azure Cosmos DB до версии 3.6.0.

Основные исправления ошибок

2.2.1 (31 декабря 2019 г.)

Новые возможности

  • Обновляет пакет SDK для Azure Cosmos DB до версии 3.5.0.
  • Добавляет поле заметки для включения или отключения автоматического создания коллекций.
  • Улучшает обработку исключений. Предоставляет CosmosClientException через CosmosDBAccessException.
  • Предоставляет requestCharge и activityId через ResponseDiagnostics.

Основные исправления ошибок

  • Обновление пакета SDK 3.5.0 устраняет ошибку "Исключение, если заголовок HTTP-ответа Azure Cosmos DB превышает 8192 байт", "ConsistencyPolicy.defaultConsistencyLevel() завершается сбоем при ограниченной статичности и согласованном префиксе".
  • Исправляет поведение метода findById. Ранее этот метод возвращал пустое значение, если сущность не была найдена, а не порождал исключение.
  • Устраняет ошибку, из-за которой при использовании CosmosPageRequest сортировка не применялась к следующей странице.

2.1.9 (26 декабря 2019 г.)

Новые возможности

  • Добавляет поле заметки для включения или отключения автоматического создания коллекций.

Основные исправления ошибок

  • Исправляет поведение метода findById. Ранее этот метод возвращал пустое значение, если сущность не была найдена, а не порождал исключение.

2.2.0 (21 октября 2019 г.)

Новые возможности

  • Полная поддержка реактивного репозитория Azure Cosmos DB.
  • Поддержка метрик запросов и строки диагностики запросов Azure Cosmos DB.
  • Обновляет пакет SDK для Azure Cosmos DB до версии 3.3.1.
  • Обновляет платформу Spring Framework до версии 5.2.0.RELEASE.
  • Обновляет компонент Spring Data Commons до версии 2.2.0.RELEASE.
  • Добавляет API findByIdAndPartitionKey и deleteByIdAndPartitionKey.
  • Удаляет зависимость от azure-documentdb.
  • Изменяет торговую марку DocumentDB на Azure Cosmos DB.

Основные исправления ошибок

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

2.1.8 (18 октября 2019 г.)

Новые возможности

  • Объявляет нерекомендуемыми интерфейсы API DocumentDB.
  • Добавляет API findByIdAndPartitionKey и deleteByIdAndPartitionKey.
  • Добавляет оптимистичную блокировку на основе _etag.
  • Включает поддержку выражения SpEL для имени коллекции документов.
  • Добавляет усовершенствования ObjectMapper.

2.1.7 (18 октября 2019 г.)

Новые возможности

  • Добавляет зависимость для пакета SDK для Azure Cosmos DB версии 3.
  • Добавляет реактивный репозиторий Azure Cosmos DB.
  • Обновляет реализацию DocumentDbTemplate для использования пакета SDK для Azure Cosmos DB версии 3.
  • Добавляет другие изменения конфигурации для поддержки репозитория Reactive Azure Cosmos DB.

2.1.2 (19 марта 2019 г.)

Основные исправления ошибок

  • applicationInsights Удаляет зависимость для:
    • потенциального риска заcорения зависимостей;
    • несовместимости с Java 11;
    • предотвращения потенциального влияния на производительность ЦП и (или) памяти.

2.0.7 (20 марта 2019 г.)

Основные исправления ошибок

  • Backport удаляет applicationInsights зависимость для:
    • потенциального риска заcорения зависимостей;
    • несовместимости с Java 11;
    • предотвращения потенциального влияния на производительность ЦП и (или) памяти.

2.1.1 (7 марта 2019 г.)

Новые возможности

  • Обновляет основную версию до версии 2.1.1.

2.0.6 (7 марта 2019 г.)

Новые возможности

  • Игнорирование всех исключений из данных телеметрии.

2.1.0 (17 декабря 2018 г.)

Новые возможности

  • Обновляет версию до 2.1.0, чтобы устранить проблему.

2.0.5 (13 сентября 2018 г.)

Новые возможности

  • Добавляет ключевые слова exists и startsWith.
  • Обновляет файл сведений.

Основные исправления ошибок

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

2.0.4 (предварительная версия) (23 августа 2018 г.)

Новые возможности

  • Переименовывает пакет documentdb в cosmosdb.
  • Добавляет новую функцию ключевого слова для метода запроса. Теперь поддерживаются 16 ключевое слово из API для NoSQL.
  • Добавляет новую функцию запроса с разбиением на страницы и сортировкой.
  • Упрощает настройку spring-data-cosmosdb.
  • Добавляет API deleteCollection и deleteAll.

Основные исправления ошибок

  • Исправление ошибок и устранение дефектов.

Вопросы и ответы

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

Следующие шаги

См. дополнительные сведения об Azure Cosmos DB.

См. дополнительные сведения о Spring Framework.

См. дополнительные сведения о Spring Boot.

См. дополнительные сведения о Spring Data.