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

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

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

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

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

Важно!

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

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

Сведения о 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 TODO с использованием Azure Cosmos DB Полный цикл интерфейсов Java в Службе приложений в Linux (часть 2)
Руководство разработчика Руководство для разработчиков Spring Data Azure Cosmos DB
Использование начального приложения Использование начального приложения Spring Boot с API SQL для Azure Cosmos DB
Репозиторий GitHub для начального приложения Spring Boot для Azure Cosmos DB
Пример с использованием Службы приложений Azure Использование Spring и Cosmos DB со Службой приложений в Linux
Пример приложения TODO

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

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 устраняет ошибки "Exception when Cosmos DB HTTP response header is larger than 8192 bytes" (Исключение, когда заголовок ответа HTTP Cosmos DB превышает 8192 байта) и "ConsistencyPolicy.defaultConsistencyLevel() fails on Bounded Staleness and Consistent Prefix" (Сбой ConsistencyPolicy.defaultConsistencyLevel() из-за ограниченно устаревшего и согласованного префикса).
  • Исправляет поведение метода findById. Ранее этот метод возвращал пустое значение, если сущность не была найдена, а не порождал исключение.
  • Устраняет ошибку, из-за которой при использовании CosmosPageRequest сортировка не применялась к следующей странице.

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

новые функции;

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

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

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

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

новые функции;

  • Полная поддержка репозитория Reactive Cosmos Repository.
  • Поддержка метрик запросов и строки диагностики запросов 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.
  • Добавляет репозиторий Reactive Cosmos Repository.
  • Обновляет реализацию DocumentDbTemplate для использования пакета SDK для Azure Cosmos DB версии 3.
  • Добавляет другие изменения конфигурации для поддержки репозитория Reactive Cosmos Repository.

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

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

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

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

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

  • Исправление для предыдущих версий удаляет зависимость 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 SQL.
  • Добавляет новую функцию запроса с разбиением на страницы и сортировкой.
  • Упрощает настройку 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.

Если у вас есть план поддержки и вам требуется техническая поддержка, свяжитесь с нами, отправив соответствующий запрос.

Дальнейшие действия

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

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

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

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