Руководство по миграции для Spring Cloud Azure 4.0
Это руководство помогает выполнить миграцию в Spring Cloud Azure 4.0 из устаревших библиотек Azure Spring.
Введение
Мы вызовем библиотеки, идентификатор группы и артефакты которых соответствуют шаблону com.azure.spring:spring-cloud-azure-*
современных библиотек, а также библиотек с шаблоном com.azure.spring:azure-spring-boot-*
com.azure.spring:azure-spring-cloud-*
или com.azure.spring:azure-spring-integration-*
устаревшими библиотеками.
В этом руководстве рассматриваются параллельные сравнения аналогичных конфигураций между современными и устаревшими библиотеками.
Предполагается знание или com.azure.spring:azure-spring-boot-*
com.azure.spring:azure-spring-cloud-*
com.azure.spring:azure-spring-integration-*
пакет.
Если вы не знакомы с библиотеками Azure Spring Cloud 4.0, ознакомьтесь с руководством разработчика Spring Cloud, а не с этим руководством.
Преимущества переноса
Естественный вопрос, который следует задать при рассмотрении того, следует ли принять новую версию или библиотеку, является его преимуществами. По мере того как Azure зрела и была принята более разнообразной группой разработчиков, мы были сосредоточены на изучении шаблонов и методик, чтобы обеспечить поддержку производительности разработчиков и понять пробелы, которые имеют библиотеки Azure Spring Cloud.
В библиотеках Azure Spring Cloud было выражено несколько областей согласованной обратной связи. Наиболее важным является то, что библиотеки для разных служб Azure не включили полный набор конфигураций. Кроме того, несоответствие именования проектов, идентификаторов артефактов, версий и конфигураций сделало кривую обучения крутой.
Чтобы улучшить возможности разработки в библиотеках Azure Spring Cloud, был представлен набор рекомендаций по проектированию, чтобы гарантировать, что библиотеки Azure Spring Cloud имеют естественное и идиоматичное чувство в отношении экосистемы Spring. Дополнительные сведения см. в документации по проектированию для заинтересованных пользователей.
Spring Cloud Azure 4.0 предоставляет общий интерфейс между библиотеками, интегрирующимися с различными проектами Spring Boot, Spring Boot, Spring Integration, Spring Cloud Stream и т. д. Общий интерфейс включает в себя:
- Унифицированный BOM для включения всех библиотек Azure 4.0 Spring Cloud.
- Согласованное соглашение об именовании артефактов.
- Единый способ настройки учетных данных, прокси-сервера, повторных попыток, облачной среды и параметров транспортного слоя.
- Поддержка всех методов проверки подлинности, поддерживаемых службой Azure или пакетом SDK службы Azure.
Обзор
Это руководство по миграции состоит из следующих разделов:
- Изменения именования для Spring Cloud Azure 4.0
- Изменения артефакта: переименовано/ добавлено или удалено
- Изменения зависимостей
- Изменения проверки подлинности
- Свойства конфигурации
- Критические изменения API
- Изменения библиотеки
Изменение имен.
Никогда не было согласованного или официального имени для вызова всех библиотек Azure Spring Cloud. Некоторые из них были вызваны Azure Spring Boot
и некоторые из них Spring on Azure
. С 4.0 мы начали использовать имя Spring Cloud Azure
проекта для представления всех библиотек Azure Spring.
Спецификация
Мы использовали для отправки двух BOM для наших библиотек, azure-spring-boot-bom
и azure-spring-cloud-dependencies
, но мы объединили эти два BOM в один BOM с 4.0, .spring-cloud-azure-dependencies
Добавьте запись в dependencyManagement
раздел проекта, чтобы воспользоваться управлением зависимостями.
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.azure.spring</groupId>
<artifactId>spring-cloud-azure-dependencies</artifactId>
<version>4.14.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
Примечание.
Если вы используете Spring Boot 3.x, обязательно установите для нее spring-cloud-azure-dependencies
значение 5.8.0
.
Дополнительные сведения о версии см. в spring-cloud-azure-dependencies
статье "Какая версия Spring Cloud Azure должна использоваться".
Изменения артефакта: переименовано/ добавлено или удалено
Идентификаторы групп совпадают с современными и устаревшими библиотеками Azure Spring Cloud. Они все com.azure.spring
. Идентификаторы артефактов для современных библиотек Azure Spring Cloud изменились. Согласно проекту Spring, которому он принадлежит, Spring Boot, Spring Integration или Spring Cloud Stream, шаблон идентификаторов артефактов может быть spring-cloud-azure-starter-[service]
, spring-integration-azure-[service]
или spring-cloud-azure-stream-binder-[service]
. Устаревшие начальные элементы для каждого из них имеют идентификатор артефакта после шаблона azure-spring-*
. Это обеспечивает быстрые и доступные средства, помогающие понять, используете ли вы современные или устаревшие начальные элементы.
В процессе разработки Spring Cloud Azure 4.0 мы переименовали некоторые артефакты, чтобы сделать их новыми соглашениями об именовании, удалили некоторые артефакты, чтобы функциональные возможности могли быть помещены в более подходящий артефакт, и добавили некоторые новые артефакты, чтобы лучше служить некоторым сценариям.
В следующей таблице показаны сопоставления между устаревшим идентификатором артефакта и современным идентификатором артефакта:
Устаревший идентификатор артефакта | Идентификатор современного артефакта | Description |
---|---|---|
azure-spring-boot-starter | spring-cloud-azure-starter | Этот артефакт был удален со всеми функциями, которые будут объединены в новый spring-cloud-azure-starter артефакт. |
azure-spring-boot-starter-active-directory | spring-cloud-azure-starter-active-directory | Переименован артефакт. |
azure-spring-boot-starter-active-directory-b2c | spring-cloud-azure-starter-active-directory-b2c | Переименован артефакт. |
azure-spring-boot-starter-cosmos | spring-cloud-azure-starter-data-cosmos | Переименован артефакт для добавления data , указывающий на использование Spring Data Azure Cosmos DB. |
azure-spring-boot-starter-keyvault-certificates | Неприменимо | Не входит в этот выпуск, но будет поддерживаться в более поздней версии. |
azure-spring-boot-starter-keyvault-secret | spring-cloud-azure-starter-keyvault-secret | Переименован артефакт. |
azure-spring-boot-starter-servicebus-jms | spring-cloud-azure-starter-servicebus-jms | Переименован артефакт. |
azure-spring-boot-starter-storage | spring-cloud-azure-starter-storage-blob spring-cloud-azure-starter-storage-file-share |
Устаревший артефакт содержит функциональные возможности как служба хранилища BLOB-объектов, так и общей папки, они были разделены на два отдельных артефакта в 4.0, Spring-cloud-azure-starter-storage-blob и spring-cloud-azure-starter-storage-file-share. |
azure-spring-boot | Неприменимо | Этот артефакт был удален со всеми функциями, которые будут объединены в новый spring-cloud-azure-autoconfigure артефакт. |
azure-spring-cloud-autoconfigure | Неприменимо | Этот артефакт был удален со всеми функциями, которые будут объединены в новый spring-cloud-azure-autoconfigure артефакт. |
azure-spring-cloud-context | Неприменимо | Этот артефакт был удален со всеми функциями, которые будут объединены в новые spring-cloud-azure-autoconfigure и spring-cloud-azure-resourcemanager артефакты. |
azure-spring-cloud-messaging | spring-messaging-azure | Заметка прослушивателя сообщений была удалена. |
azure-spring-cloud-starter-cache | Неприменимо | Этот артефакт был удален для использования redis, просто добавьте spring-boot-starter-data-redis, spring-boot-starter-cache, spring-cloud-azure-resourcemanager и spring-cloud-azure-starter. Дополнительные сведения об использовании см. в разделе поддержки Spring Cloud Azure Redis. |
azure-spring-cloud-starter-eventhubs-kafka | Неприменимо | Этот артефакт был удален для использования kafka, просто добавьте spring kafka, spring-cloud-azure-resourcemanager и spring-cloud-azure-starter. Дополнительные сведения об использовании см. в разделе поддержки Spring Cloud Azure Kafka. |
azure-spring-cloud-starter-eventhubs | spring-cloud-azure-starter-integration-eventhubs | Переименован артефакт для добавления integration , указывающий использование Spring Integration с Центрами событий. |
azure-spring-cloud-starter-servicebus | spring-cloud-azure-starter-integration-servicebus | Переименован артефакт для добавленияintegration , указывающий использование Spring Integration с служебная шина. |
azure-spring-cloud-starter-storage-queue | spring-cloud-azure-starter-integration-storage-queue | Переименован артефакт для добавленияintegration , указывающий использование Spring Integration с служба хранилища очередью. |
azure-spring-cloud-storage | Неприменимо | Этот артефакт был удален со всеми функциями, объединенными в новый spring-cloud-azure-autoconfigure артефакт. |
azure-spring-cloud-stream-binder-eventhubs | Spring-cloud-azure-stream-binder-eventhubs | Этот артефакт был рефакторингирован с помощью нового дизайна, в основном spring-cloud-azure-stream-binder-eventhubs и spring-cloud-azure-stream-binder-eventhubs-core . |
azure-spring-cloud-stream-binder-service-core | spring-cloud-azure-stream-binder-servicebus-core | Переименован артефакт. |
azure-spring-cloud-stream-binder-servicebus-queue | spring-cloud-azure-stream-binder-servicebus | Этот артефакт был удален со всеми функциями, которые будут объединены в spring-cloud-azure-stream-binder-servicebus артефакт. |
azure-spring-cloud-stream-binder-servicebus-topic | spring-cloud-azure-stream-binder-servicebus | Этот артефакт был удален со всеми функциями, которые будут объединены в spring-cloud-azure-stream-binder-servicebus артефакт. |
azure-spring-integration-core | spring-integration-azure-core | Переименован артефакт. |
azure-spring-integration-eventhubs | spring-integration-azure-eventhubs | Переименуйте артефакт. |
azure-spring-integration-servicebus | spring-integration-azure-servicebus | Переименуйте артефакт. |
azure-spring-integration-storage-queue | spring-integration-azure-storage-queue | Переименуйте артефакт. |
Неприменимо | spring-cloud-azure-actuator | Недавно добавлен артефакт Azure Actuator Spring Cloud. |
Неприменимо | spring-cloud-azure-actuator-autoconfigure | Недавно добавлен артефакт AutoConfigure Azure Spring Cloud Azure Actuator, включая автонастройку для актуатора. |
Неприменимо | spring-cloud-azure-autoconfigure | Недавно добавлен артефакт Azure AutoConfigure Spring Cloud, включая всю автоматическую настройку для клиентов SDK, поддержку Spring Security, поддержку Spring Data и поддержку Spring Integration. |
Неприменимо | Spring-cloud-azure-core | Недавно добавлен артефакт Spring Cloud Azure Core, включая все основные функциональные возможности. |
Неприменимо | Spring-cloud-azure-resourcemanager | Добавлен только что добавлен артефакт Resource Manager. Это базовая библиотека с помощью Azure Resource Manager для чтения метаданных и создания ресурсов. |
Неприменимо | spring-cloud-azure-service | Недавно добавлен артефакт Службы Azure Spring Cloud, включая абстракции для служб Azure. |
Неприменимо | spring-cloud-azure-starter-appconfiguration | Добавлен новый начальный код для использования клиента пакета SDK Конфигурация приложений Azure. |
Неприменимо | spring-cloud-azure-starter-cosmos | Добавлен новый начальный код для использования клиента пакета SDK Для Azure Cosmos DB. |
Неприменимо | spring-cloud-azure-starter-eventhubs | Добавлен новый начальный элемент для использования клиента пакета SDK Центры событий Azure. |
Неприменимо | spring-cloud-azure-starter-servicebus | Добавлен новый начальный элемент для использования клиента пакета SDK для Служебная шина Azure. |
Неприменимо | spring-cloud-azure-starter-storage-blob | Добавлен новый начальный элемент для использования служба хранилища Azure клиента пакета SDK ДЛЯ BLOB-объектов. |
Неприменимо | spring-cloud-azure-starter-storage-file-share | Добавлен новый начальный элемент для использования клиента пакета SDK для файлового ресурса служба хранилища Azure. |
Неприменимо | spring-cloud-azure-starter-storage-queue | Добавлен новый начальный элемент для использования клиента пакета SDK для очередей служба хранилища Azure. |
Неприменимо | spring-cloud-azure-starter-stream-eventhubs | Добавлен новый начальный модуль для использования Центры событий Azure Spring Cloud Stream Binder. |
Неприменимо | spring-cloud-azure-starter-stream-servicebus | Добавлен новый начальный модуль для использования Служебная шина Azure Spring Cloud Stream Binder |
Неприменимо | Spring-cloud-azure-stream-binder-eventhubs-core | Добавлен новый артефакт Core Spring Cloud Stream для Центры событий Azure. |
Изменения зависимостей
Некоторые ненужные зависимости были включены в устаревшие артефакты, которые мы удалили в современных библиотеках Spring Cloud Azure 4.0. Обязательно добавьте удаленные зависимости вручную в проект, чтобы предотвратить сбои.
К библиотекам, которые имеют изменения зависимостей, относятся:
- spring-cloud-azure-starter
- spring-cloud-azure-starter-active-directory
- spring-cloud-azure-starter-active-directory-b2c
Изменения проверки подлинности
Spring Cloud Azure 4.0 поддерживает все методы проверки подлинности, поддерживаемые каждым пакетом SDK службы Azure. Он позволяет настроить учетные данные глобального токена, а также предоставить учетные данные маркера на каждом уровне обслуживания. Но учетные данные не требуются для настройки Spring Cloud Azure 4.0, так как они могут применять учетные данные, хранящиеся в локальной среде разработки или управляемом удостоверении в службах Azure. Просто убедитесь, что субъект получил достаточно разрешений для доступа к целевым ресурсам Azure.
Примечание.
При назначении ролей субъектам безопасности для взаимодействия со службами Data
обмена сообщениями Azure связанные роли требуются для проведения операций обмена сообщениями. Для Центров событий Azure Spring Apps Stream / служебная шина Библиотеки Contributor
привязывателя требуется роль, когда требуется функция автоматического создания ресурсов. Дополнительные сведения см. в статье Встроенные роли Azure.
Цепочки учетных данных, DefaultAzureCredential
bean автоматически настраивается по умолчанию и будет использоваться всеми компонентами, если больше сведений о проверке подлинности не указано. Дополнительные сведения см. в разделе DefaultAzureCredential клиентской библиотеки удостоверений Azure для Java.
Свойства конфигурации
Миграция свойств
Мы создали файл дополнительных spring-configuration-metadata.json , чтобы сгладить миграцию свойств при использовании spring-boot-properties-migrator
. Сначала добавьте в приложение следующий перенос свойств:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-properties-migrator</artifactId>
<scope>runtime</scope>
</dependency>
Или, если вы используете Gradle:
runtime("org.springframework.boot:spring-boot-properties-migrator")
Если вы запускаете приложение, оно определит свойства, которые больше не управляются Spring Cloud Azure. Если есть замена, он временно переназначит свойство для вас с предупреждением. Если нет замены, отчет об ошибке даст вам дополнительные сведения. В любом случае необходимо обновить конфигурацию и удалить зависимость после обновления конфигурации.
Прежде чем перейти, рекомендуется использовать функцию поиска интегрированной среды разработки для двойного проверка, которые вы не используете одно из свойств, перенесенных в тесте интеграции.
Примечание.
Мы изменили множество свойств конфигурации в этом изменении. spring-boot-properties-migrator
Использование поможет сгладить миграцию.
Глобальные конфигурации
Современный spring-cloud-azure-starter
позволяет определить свойства, которые применяются ко всем пакетам SDK Azure в пространстве spring.cloud.azure
имен. Эта функция не поддерживается в устаревшей azure-spring-boot-starter
версии. Глобальные конфигурации можно разделить на пять категорий, показанных в следующей таблице:
Префикс | Description |
---|---|
spring.cloud.azure.client | Настраивает клиенты транспорта под каждым пакетом SDK Azure. |
Spring.cloud.azure.credential | Настраивает проверку подлинности с помощью идентификатора Microsoft Entra. |
Spring.cloud.azure.profile | Настраивает облачную среду Azure. |
Spring.cloud.azure.proxy | Настраивает параметры прокси-сервера, применяется ко всем клиентам Пакета SDK Azure. |
Spring.cloud.azure.retry | Настраивает параметры повторных попыток, применяется ко всем клиентам Пакета SDK Azure. Параметры повторных попыток поддерживают часть пакетов SDK, нет spring.cloud.azure.cosmos.retry . |
Полный список конфигураций см. в разделе "Свойства конфигурации Spring Cloud Azure".
Настройка каждого пакета SDK
Дополнительные сведения о параметрах конфигурации на уровне пакета SDK см. по следующим ссылкам:
- Из azure-spring-boot-starter-active-directory в spring-cloud-azure-starter-active-directory
- С azure-spring-boot-starter-active-directory-b2c до spring-cloud-azure-starter-active-directory-b2c
- С azure-spring-boot-starter-cosmos до spring-cloud-azure-starter-data-cosmos
- Из azure-spring-boot-starter-keyvault-secret в spring-cloud-azure-starter-keyvault-secret
- С azure-spring-boot-starter-servicebus-jms до spring-cloud-azure-starter-servicebus-jms
- С azure-spring-boot-starter-storage до spring-cloud-azure-starter-storage-blob
- Из azure-spring-boot-starter-storage в spring-cloud-azure-starter-storage-file-share
- С azure-spring-cloud-starter-eventhubs до spring-cloud-azure-starter-integration-eventhubs
- С azure-spring-cloud-starter-servicebus до spring-cloud-azure-starter-integration-servicebus
- От azure-spring-cloud-starter-storage-queue до spring-cloud-azure-starter-integration-storage-queue
- Из azure-spring-cloud-stream-binder-eventhubs в spring-cloud-azure-stream-binder-eventhubs
- От azure-spring-cloud-stream-binder-servicebus-* до spring-cloud-azure-stream-binder-servicebus
Критические изменения API
Дополнительные сведения о критических изменениях API в каждой библиотеке см. по следующим ссылкам:
- Из azure-spring-boot-starter-active-directory в spring-cloud-azure-starter-active-directory
- С azure-spring-boot-starter-active-directory-b2c до spring-cloud-azure-starter-active-directory-b2c
- С azure-spring-boot-starter-storage до spring-cloud-azure-starter-storage-blob
- Из azure-spring-boot-starter-storage в spring-cloud-azure-starter-storage-file-share
- С azure-spring-cloud-starter-eventhubs до spring-cloud-azure-starter-integration-eventhubs
- С azure-spring-integration-eventhubs до spring-integration-azure-eventhubs
- С azure-spring-cloud-starter-servicebus до spring-cloud-azure-starter-integration-servicebus
- От azure-spring-integration-servicebus до spring-integration-azure-servicebus
- От azure-spring-cloud-starter-storage-queue до spring-cloud-azure-starter-integration-storage-queue
- От azure-spring-integration-storage-queue до spring-integration-azure-storage-queue
- Из azure-spring-cloud-stream-binder-eventhubs в spring-cloud-azure-stream-binder-eventhubs
- От azure-spring-cloud-stream-binder-servicebus-* до spring-cloud-azure-stream-binder-servicebus
Изменения библиотеки
Критические изменения в каждой библиотеке представлены следующим образом.
Начиная с azure-spring-boot-starter до spring-cloud-azure-starter
Это руководство предназначено для поддержки миграции в spring-cloud-azure-starter с версии 3 azure-spring-boot-starter.
Для получения общих сведений используйте следующие ссылки:
- Общие сведения об изменениях в версии 4.0 см. в разделах "Введение и миграция".
- Дополнительные сведения об изменениях стратегии в именовании проекта см . в разделе об изменениях именования.
- Сведения об использовании одного BOM для всех библиотек Azure Spring Cloud см. в разделе BOM .
- Сведения об обработке проверки подлинности в Spring Cloud Azure 4.0 см. в разделе об изменениях проверки подлинности.
- Сведения о том, как использовать
spring-boot-properties-migrator
во время миграции, см. в разделе "Настройка каждого пакета SDK ". - Дополнительные сведения о глобальных и распространенных изменениях конфигурации см. в разделе "Глобальные конфигурации ".
Изменения зависимостей
Некоторые ненужные зависимости были включены в устаревшие артефакты, которые мы удалили в современных библиотеках Spring Cloud Azure 4.0. Обязательно добавьте удаленные зависимости вручную в проект, чтобы предотвратить непреднамеренный сбой.
В следующей таблице показаны удаленные зависимости:
Удалены зависимости | Description |
---|---|
org.springframework.boot:spring-boot-starter-validation | Включите начальный модуль проверки, если вы хотите использовать проверяющий элемент Hibernate. |
Из azure-spring-boot-starter-active-directory в spring-cloud-azure-starter-active-directory
Это руководство предназначено для поддержки миграции в spring-cloud-azure-starter-active-directory с версии 3 azure-spring-boot-starter-active-directory.
Для получения общих сведений используйте следующие ссылки:
- Общие сведения об изменениях в версии 4.0 см. в разделах "Введение и миграция".
- Дополнительные сведения об изменениях стратегии в именовании проекта см . в разделе об изменениях именования.
- Сведения об использовании одного BOM для всех библиотек Azure Spring Cloud см. в разделе BOM .
- Сведения об обработке проверки подлинности в Spring Cloud Azure 4.0 см. в разделе об изменениях проверки подлинности.
- Сведения о том, как использовать
spring-boot-properties-migrator
во время миграции, см. в разделе "Настройка каждого пакета SDK ". - Дополнительные сведения о глобальных и распространенных изменениях конфигурации см. в разделе "Глобальные конфигурации ".
Изменения зависимостей
Некоторые ненужные зависимости в устаревшем артефакте были удалены с современной библиотеки Spring Cloud Azure 4.0. Добавьте эти удаленные зависимости в проект, чтобы предотвратить непреднамеренный сбой.
В следующей таблице показаны удаленные зависимости:
Удалены зависимости | Description |
---|---|
com.fasterxml.jackson.core:jackson-databind | При необходимости добавьте эту зависимость в проект. |
io.projectreactor.netty:reactor-netty | При необходимости добавьте эту зависимость в проект. |
org.springframework.boot:spring-boot-starter-validation | При необходимости добавьте эту зависимость в проект. |
org.springframework.boot:spring-boot-starter-webflux | При необходимости добавьте эту зависимость в проект. |
Изменения конфигурации пакета SDK
В этом разделе содержатся изменения о добавленных, удаленных и измененных свойствах.
- Следующие два пункта являются основными, чтобы обратить внимание на:
- Префикс всех имен свойств конфигурации изменился на
azure.activedirectory
spring.cloud.azure.active-directory
. - Новое свойство
spring.cloud.azure.active-directory.enabled
добавляется для включения и отключения связанных функций Microsoft Entra. Значение по умолчанию —false
.
В следующей таблице показаны сопоставления свойств между azure-spring-boot-starter-active-directory
и spring-cloud-azure-starter-active-directory
:
Устаревшие свойства | Современные свойства |
---|---|
azure.activedirectory.app-id-uri | spring.cloud.azure.active-directory.app-id-uri |
azure.activedirectory.application-type | spring.cloud.azure.active-directory.application-type |
azure.activedirectory.authorization-clients | spring.cloud.azure.active-directory.authorization-client |
azure.activedirectory.authorization-clients.AZURE_CLIENT_NAME.authorization-grant-type | spring.cloud.azure.active-directory.authorization-clients.AZURE_CLIENT_NAME.authorization-grant-type |
azure.activedirectory.authorization-clients.AZURE_CLIENT_NAME.on-demand | spring.cloud.azure.active-directory.authorization-clients.AZURE_CLIENT_NAME.on-demand |
azure.activedirectory.authorization-clients.AZURE_CLIENT_NAME. область | spring.cloud.azure.active-directory.authorization-clients.AZURE_CLIENT_NAME. область |
azure.activedirectory.authenticate-additional-parameters | spring.cloud.azure.active-directory.authenticate-additional-parameters |
azure.activedirectory.base-uri | spring.cloud.azure.active-directory.profile.environment.active-directory-endpoint |
azure.activedirectory.client-id | spring.cloud.azure.active-directory.credential.client-id |
azure.activedirectory.client-secret | spring.cloud.azure.active-directory.credential.client-secret |
azure.activedirectory.graph-membership-uri | Дополнительные сведения см. в следующей таблице. |
azure.activedirectory.jwt-connect-timeout | spring.cloud.azure.active-directory.jwt-connect-timeout. |
azure.activedirectory.jwt-read-timeout | spring.cloud.azure.active-directory.jwt-read-timeout. |
azure.activedirectory.jwt-size-limit | spring.cloud.azure.active-directory.jwt-size-limit. |
azure.activedirectory.jwk-set-cache-жизнь | spring.cloud.azure.active-directory.jwk-set-cache-жизни. |
azure.activedirectory.jwk-set-cache-refresh-time | spring.cloud.azure.active-directory.jwk-set-cache-refresh-time |
azure.activedirectory.post-logout-redirect-uri | spring.cloud.azure.active-directory.post-logout-redirect-uri |
azure.activedirectory.session-stateless | spring.cloud.azure.active-directory.session-stateless |
azure.activedirectory.redirect-uri-template | spring.cloud.azure.active-directory.redirect-uri-template |
azure.activedirectory.resource-server.claim-to-authority-prefix-map | spring.cloud.azure.active-directory.resource-server.claim-to-authority-prefix-map |
azure.activedirectory.resource-server.principal-claim-name | spring.cloud.azure.active-directory.resource-server.principal-claim-name |
azure.activedirectory.tenant-id | spring.cloud.azure.active-directory.profile.tenant-id |
azure.activedirectory.user-group.allowed-group-ids | spring.cloud.azure.active-directory.user-group.allowed-group-ids |
azure.activedirectory.user-group.allowed-group-group-name | spring.cloud.azure.active-directory.user-group.allowed-group-group-name |
azure.activedirectory.user-name-attribute | spring.cloud.azure.active-directory.user-name-attribute |
Тип значения следующих свойств изменяется на
long
Duration
:jwt-connect-timeout
jwt-read-timeout
jwk-set-cache-lifespan
jwk-set-cache-refresh-time
.
Удаляются следующие свойства:
- azure.activedirectory.allow-telemetry
- azure.activedirectory.user-group.enable-full-list
- azure.activedirectory.graph-base-uri
- azure.activedirectory.graph-membership-uri
Добавлены следующие свойства:
- spring.cloud.azure.active-directory.enabled
- spring.cloud.azure.active-directory.profile.environment.microsoft-graph-endpoint
- spring.cloud.azure.active-directory.user-group.use-transitive-members
Примечание.
Функция azure.activedirectory.graph-membership-uri
заменена 2 свойствами: spring.cloud.azure.active-directory.profile.environment.microsoft-graph-endpoint
и spring.cloud.azure.active-directory.user-group.use-transitive-members
. Первое свойство используется для указания имени узла, а второй флаг для использования URL-пути: v1.0/me/memberOf
или v1.0/me/transitiveMemberOf
.
Ниже приведены некоторые примеры миграции:
Пример 1. Вариант 1
Для устаревших версий: azure.activedirectory.graph-membership-uri=https://graph.microsoft.com/v1.0/me/memberOf
Для современного: spring.cloud.azure.active-directory.profile.environment.microsoft-graph-endpoint=
https://graph.microsoft.com/
+ spring.cloud.azure.active-directory.user-group.use-transitive-members=false
Пример 2. Случай 2
Для устаревших версий: azure.activedirectory.graph-membership-uri=https://graph.microsoft.com/v1.0/me/transitiveMemberOf
Для современного: spring.cloud.azure.active-directory.profile.environment.microsoft-graph-endpoint=
https://graph.microsoft.com/
+ spring.cloud.azure.active-directory.user-group.use-transitive-members=true
Изменения API
В следующей таблице показаны сопоставления классов от azure-spring-boot-starter-active-directory
spring-cloud-azure-starter-active-directory
:
Устаревший класс | Современный класс |
---|---|
com.azure.spring.aad.webapi.AADJwtBearerTokenAuthenticationConverter | com.azure.spring.cloud.autoconfigure.aad.AadJwtBearerTokenAuthenticationConverter |
com.azure.spring.aad.webapi.AADResourceServerProperties | com.azure.spring.cloud.autoconfigure.aad.properties.AadResourceServerProperties |
com.azure.spring.aad.webapi.AADResourceServerWebSecurityConfigurerAdapter | com.azure.spring.cloud.autoconfigure.aad.AadResourceServerWebSecurityConfigurerAdapter |
com.azure.spring.aad.webapp.AADWebSecurityConfigurerAdapter | com.azure.spring.cloud.autoconfigure.aad.AadWebSecurityConfigurerAdapter |
com.azure.spring.aad.webapp.AuthorizationClientProperties | com.azure.spring.cloud.autoconfigure.aad.properties.AuthorizationClientProperties |
com.azure.spring.aad.AADApplicationType | com.azure.spring.cloud.autoconfigure.aad.properties.AadApplicationType |
com.azure.spring.aad.AADAuthorizationGrantType | com.azure.spring.cloud.autoconfigure.aad.properties.AadAuthorizationGrantType |
com.azure.spring.aad.AADAuthorizationServerEndpoints | com.azure.spring.cloud.autoconfigure.aad.properties.AadAuthorizationServerEndpoints |
com.azure.spring.aad.AADClientRegistrationRepository | com.azure.spring.cloud.autoconfigure.aad.AadClientRegistrationRepository |
com.azure.spring.aad.AADTrustedIssuerRepository | com.azure.spring.cloud.autoconfigure.aad.AadTrustedIssuerRepository |
com.azure.spring.autoconfigure.aad.AADAppRoleStatelessAuthenticationFilter | com.azure.spring.cloud.autoconfigure.aad.filter.AadAppRoleStatelessAuthenticationFilter |
com.azure.spring.autoconfigure.aad.AADAuthenticationFilter | com.azure.spring.cloud.autoconfigure.aad.filter.AadAuthenticationFilter |
com.azure.spring.autoconfigure.aad.AADAuthenticationProperties | com.azure.spring.cloud.autoconfigure.aad.properties.AadAuthenticationProperties |
com.azure.spring.autoconfigure.aad.UserPrincipal | com.azure.spring.cloud.autoconfigure.aad.filter.UserPrincipal |
com.azure.spring.autoconfigure.aad.UserPrincipalManager | com.azure.spring.cloud.autoconfigure.aad.filter.UserPrincipalManager |
В этом разделе перечислены удаленные классы из azure-spring-boot-starter-active-directory.
Удален устаревший класс
- com.azure.spring.aad.webapp.AADHandleConditionalAccessFilter
- com.azure.spring.aad.webapi.validator.AADJwtAudienceValidator
- com.azure.spring.aad.webapi.validator.AADJwtClaimValidator
С azure-spring-boot-starter-active-directory-b2c до spring-cloud-azure-starter-active-directory-b2c
Это руководство предназначено для поддержки миграции в spring-cloud-azure-starter-active-directory-b2c версии 3 azure-spring-boot-starter-active-directory-b2c.
Для получения общих сведений используйте следующие ссылки:
- Общие сведения об изменениях в версии 4.0 см. в разделах "Введение и миграция".
- Дополнительные сведения об изменениях стратегии в именовании проекта см . в разделе об изменениях именования.
- Сведения об использовании одного BOM для всех библиотек Azure Spring Cloud см. в разделе BOM .
- Сведения об обработке проверки подлинности в Spring Cloud Azure 4.0 см. в разделе об изменениях проверки подлинности.
- Сведения о том, как использовать
spring-boot-properties-migrator
во время миграции, см. в разделе "Настройка каждого пакета SDK ". - Дополнительные сведения о глобальных и распространенных изменениях конфигурации см. в разделе "Глобальные конфигурации ".
Изменения зависимостей
Некоторые ненужные зависимости были включены в устаревшие артефакты, которые мы удалили в современных библиотеках Spring Cloud Azure 4.0. Обязательно добавьте удаленные зависимости вручную в проект, чтобы предотвратить непреднамеренный сбой.
В следующей таблице показаны удаленные зависимости:
Удалены зависимости | Description |
---|---|
org.springframework.boot:spring-boot-starter-validation | Включите начальный модуль проверки, если вы хотите использовать проверяющий элемент Hibernate. |
Изменения конфигурации пакета SDK
В этом разделе содержатся изменения о добавленных, удаленных и измененных свойствах.
- Следующие два пункта являются основными, чтобы обратить внимание на:
- Все имена свойств конфигурации изменили префикс на
azure.activedirectory.b2c
spring.cloud.azure.active-directory.b2c
. - Новое свойство
spring.cloud.azure.active-directory.b2c.enabled
добавляется, чтобы разрешить включение и отключение связанных функций Azure AD B2C. По умолчанию используется значение false.
В следующей таблице показаны сопоставления свойств от azure-spring-boot-starter-active-directory-b2c
spring-cloud-azure-starter-active-directory-b2c
:
Устаревшие свойства | Современные свойства |
---|---|
azure.activedirectory.b2c.authenticate-additional-parameters | spring.cloud.azure.active-directory.b2c.authenticate-additional-parameters |
azure.activedirectory.b2c.authorization-client | spring.cloud.azure.active-directory.b2c.authorization-client |
azure.activedirectory.b2c.authorization-client.<>тип AZURE_CLIENT_NAME.authorization-grant-type | spring.cloud.azure.active-directory.b2c.authorization-client.<>тип AZURE_CLIENT_NAME.authorization-grant-type |
azure.activedirectory.b2c.authorization-client.<>AZURE_CLIENT_NAME.областьs | spring.cloud.azure.active-directory.b2c.authorization-client.<>AZURE_CLIENT_NAME.областьs |
azure.activedirectory.b2c.app-id-uri | spring.cloud.azure.active-directory.b2c.app-id-uri |
azure.activedirectory.b2c.base-uri | spring.cloud.azure.active-directory.b2c.base-uri |
azure.activedirectory.b2c.client-id | spring.cloud.azure.active-directory.b2c.credential.client-id |
azure.activedirectory.b2c.client-secret | spring.cloud.azure.active-directory.b2c.credential.client-secret |
azure.activedirectory.b2c.jwt-connect-timeout | spring.cloud.azure.active-directory.b2c.jwt-connect-timeout |
azure.activedirectory.b2c.jwt-read-timeout | spring.cloud.azure.active-directory.b2c.jwt-read-timeout |
azure.activedirectory.b2c.jwt-size-limit | spring.cloud.azure.active-directory.b2c.jwt-size-limit |
azure.activedirectory.b2c.login-flow | spring.cloud.azure.active-directory.b2c.login-flow |
azure.activedirectory.b2c.logout-success-url | spring.cloud.azure.active-directory.b2c.logout-success-url |
azure.activedirectory.b2c.reply-url | spring.cloud.azure.active-directory.b2c.reply-url |
azure.activedirectory.b2c.tenant-id | spring.cloud.azure.active-directory.b2c.profile.tenant-id |
azure.activedirectory.b2c.user-flows | spring.cloud.azure.active-directory.b2c.user-flows |
azure.activedirectory.b2c.user-name-attribute-name-name | spring.cloud.azure.active-directory.b2c.user-name-attribute-name |
Удалены свойства из azure-spring-boot-starter-active-directory-b2c:
- azure.activedirectory.b2c.allow-telemetry
- azure.activedirectory.b2c.tenant
Тип значения следующих свойств изменяется на
long
Duration
:- jwt-connect-timeout
- jwt-read-timeout
Изменения API
В следующей таблице показаны сопоставления классов от azure-spring-boot-starter-active-directory-b2c
spring-cloud-azure-starter-active-directory-b2c
:
Устаревший класс | Современный класс |
---|---|
com.azure.spring.autoconfigure.b2c.AADB2CAuthorizationRequestResolver | com.azure.spring.cloud.autoconfigure.aadb2c.AadB2cAuthorizationRequestResolver |
com.azure.spring.autoconfigure.b2c.AADB2CJwtBearerTokenAuthenticationConverter | com.azure.spring.cloud.autoconfigure.aad.AadJwtBearerTokenAuthenticationConverter |
com.azure.spring.autoconfigure.b2c.AADB2CLogoutSuccessHandler | com.azure.spring.cloud.autoconfigure.aadb2c.AadB2cLogoutSuccessHandler |
com.azure.spring.autoconfigure.b2c.AADB2COidcLoginConfigurer | com.azure.spring.cloud.autoconfigure.aadb2c.AadB2COidcLoginConfigurer |
com.azure.spring.autoconfigure.b2c.AADB2CProperties | com.azure.spring.cloud.autoconfigure.aadb2c.properties.AadB2cProperties |
com.azure.spring.autoconfigure.b2c.AADB2CTrustedIssuerRepository | com.azure.spring.cloud.autoconfigure.aadb2c.AadB2cTrustedIssuerRepository |
com.azure.spring.autoconfigure.b2c.AuthorizationClientProperties | com.azure.spring.cloud.autoconfigure.aad.properties.AuthorizationClientProperties |
С azure-spring-boot-starter-cosmos до spring-cloud-azure-starter-data-cosmos
Это руководство предназначено для поддержки миграции в spring-cloud-azure-starter-data-cosmos версии 3 azure-spring-boot-starter-cosmos.
Для получения общих сведений используйте следующие ссылки:
- Общие сведения об изменениях в версии 4.0 см. в разделах "Введение и миграция".
- Дополнительные сведения об изменениях стратегии в именовании проекта см . в разделе об изменениях именования.
- Сведения об использовании одного BOM для всех библиотек Azure Spring Cloud см. в разделе BOM .
- Сведения об обработке проверки подлинности в Spring Cloud Azure 4.0 см. в разделе об изменениях проверки подлинности.
- Сведения о том, как использовать
spring-boot-properties-migrator
во время миграции, см. в разделе "Настройка каждого пакета SDK ". - Дополнительные сведения о глобальных и распространенных изменениях конфигурации см. в разделе "Глобальные конфигурации ".
Изменения конфигурации пакета SDK
Все имена свойств конфигурации изменили префикс на azure.cosmos
spring.cloud.azure.cosmos
.
В следующей таблице показаны сопоставления классов от azure-spring-boot-starter-cosmos
spring-cloud-azure-starter-data-cosmos
:
Устаревшие свойства | Современные свойства |
---|---|
режим azure.cosmos.connection-mode | Spring.cloud.azure.cosmos.connection-mode |
уровень согласованности azure.cosmos.consistency | spring.cloud.azure.cosmos.consistency-level |
azure.cosmos.database | spring.cloud.azure.cosmos.database |
azure.cosmos.key | spring.cloud.azure.cosmos.key |
azure.cosmos.populate-query-metrics | spring.cloud.azure.cosmos.populate-query-metrics |
azure.cosmos.uri | spring.cloud.azure.cosmos.endpoint |
Из azure-spring-boot-starter-keyvault-secret в spring-cloud-azure-starter-keyvault-secret
Это руководство предназначено для поддержки миграции в spring-cloud-azure-starter-keyvault-secret из версии 3 azure-spring-boot-starter-keyvault-secret.
Для получения общих сведений используйте следующие ссылки:
- Общие сведения об изменениях в версии 4.0 см. в разделах "Введение и миграция".
- Дополнительные сведения об изменениях стратегии в именовании проекта см . в разделе об изменениях именования.
- Сведения об использовании одного BOM для всех библиотек Azure Spring Cloud см. в разделе BOM .
- Сведения об обработке проверки подлинности в Spring Cloud Azure 4.0 см. в разделе об изменениях проверки подлинности.
- Сведения о том, как использовать
spring-boot-properties-migrator
во время миграции, см. в разделе "Настройка каждого пакета SDK ". - Дополнительные сведения о глобальных и распространенных изменениях конфигурации см. в разделе "Глобальные конфигурации ".
Изменения конфигурации пакета SDK
В этом разделе содержатся изменения о добавленных, удаленных и измененных свойствах.
В следующей таблице показаны сопоставления свойств от azure-spring-boot-starter-keyvault-secrets
spring-cloud-azure-starter-keyvault-secrets
:
Устаревшие свойства | Современные свойства |
---|---|
azure.keyvault.case-sensitive-keys | spring.cloud.azure.keyvault.secret.property-source[n].case-sensitive |
azure.keyvault.certificate-password | spring.cloud.azure.keyvault.secret.property-source[n].credential.client-certificate-password |
azure.keyvault.certificate-path | spring.cloud.azure.keyvault.secret.property-source[n].credential.client-certificate-path |
azure.keyvault.client-id | spring.cloud.azure.keyvault.secret.property-source[n].credential.client-id |
azure.keyvault.client-key | spring.cloud.azure.keyvault.secret.property-source[n].credential.client-secret |
azure.keyvault.enabled | spring.cloud.azure.keyvault.secret.property-source-enabled и spring.cloud.azure.keyvault.secret.property-source-enabled |
azure.keyvault.order | Больше не поддерживается. Вместо этого используйте порядок в свойстве-источнике[n]. |
azure.keyvault.refresh-interval | spring.cloud.azure.keyvault.secret.property-source[n].refresh-interval |
azure.keyvault.secret-keys | spring.cloud.azure.keyvault.secret.property-source[n].secret-keys |
azure.keyvault.tenant-id | spring.cloud.azure.keyvault.secret.property-source[n].profile.tenant-id |
azure.keyvault.uri | spring.cloud.azure.keyvault.secret.property-source[n].endpoint |
- Удалены свойства из spring-cloud-azure-starter-keyvault-secret
azure.keyvault.allow-telemetry azure.keyvault.order
Следующие моменты следует обратить внимание на следующее:
- Все имена свойств конфигурации изменили префикс на
azure.keyvault
spring.cloud.azure.keyvault.secret
. spring.cloud.azure.keyvault.secret.enabled
используется для включения всех функций секрета Key Vault, включая настройку клиентских бобов секрета Key Vault (напримерSecretClient
, иSecretAsyncClient
) и добавлениеKeyVaultPropertySource
вConfigurableEnvironment
него.spring.cloud.azure.keyvault.secret.property-source-enabled
используется для включения всехKeyVaultPropertySource
. Оно вступит в силу только в том случае, еслиspring.cloud.azure.keyvault.secret.enabled=true
.- Для общих свойств Azure(например
client
, ,retry
proxy
,credential
,profile
) и свойств Key Vault(напримерendpoint
,service-version
). Еслиspring.cloud.azure.keyvault.secret.property-sources[n].PROPERTY_NAME
не настроено,spring.cloud.azure.keyvault.secret.PROPERTY_NAME
будет использоваться. spring.cloud.azure.keyvault.secret.property-sources[n].resource
предназначен для уникального ресурса Azure, поэтому если он не настроен, он не получит значение из других мест.
С azure-spring-boot-starter-servicebus-jms до spring-cloud-azure-starter-servicebus-jms
Это руководство предназначено для поддержки миграции в spring-cloud-azure-starter-servicebus-jms версии 3 azure-spring-boot-starter-servicebus-jms.
Для получения общих сведений используйте следующие ссылки:
- Общие сведения об изменениях в версии 4.0 см. в разделах "Введение и миграция".
- Дополнительные сведения об изменениях стратегии в именовании проекта см . в разделе об изменениях именования.
- Сведения об использовании одного BOM для всех библиотек Azure Spring Cloud см. в разделе BOM .
- Сведения об обработке проверки подлинности в Spring Cloud Azure 4.0 см. в разделе об изменениях проверки подлинности.
- Сведения о том, как использовать
spring-boot-properties-migrator
во время миграции, см. в разделе "Настройка каждого пакета SDK ". - Дополнительные сведения о глобальных и распространенных изменениях конфигурации см. в разделе "Глобальные конфигурации ".
Изменения конфигурации пакета SDK
Тип конфигурации для spring.jms.servicebus.idle-timeout
изменения long
(миллисекунда) на Duration
шаблон для удобства чтения.
С azure-spring-boot-starter-storage до spring-cloud-azure-starter-storage-blob
Это руководство предназначено для поддержки миграции в spring-cloud-azure-starter-storage-blob версии 3 azure-spring-boot-starter-storage.
Для получения общих сведений используйте следующие ссылки:
- Общие сведения об изменениях в версии 4.0 см. в разделах "Введение и миграция".
- Дополнительные сведения об изменениях стратегии в именовании проекта см . в разделе об изменениях именования.
- Сведения об использовании одного BOM для всех библиотек Azure Spring Cloud см. в разделе BOM .
- Сведения об обработке проверки подлинности в Spring Cloud Azure 4.0 см. в разделе об изменениях проверки подлинности.
- Сведения о том, как использовать
spring-boot-properties-migrator
во время миграции, см. в разделе "Настройка каждого пакета SDK ". - Дополнительные сведения о глобальных и распространенных изменениях конфигурации см. в разделе "Глобальные конфигурации ".
Изменения конфигурации пакета SDK
Все имена свойств конфигурации изменили префикс на azure.storage
spring.cloud.azure.storage.blob
.
В следующей таблице показаны сопоставления свойств от azure-spring-boot-starter-storage
spring-cloud-azure-starter-storage-blob
:
Устаревшие свойства | Современные свойства |
---|---|
azure.storage.account-name | spring.cloud.azure.storage.blob.account-name |
azure.storage.account-key | spring.cloud.azure.storage.blob.account-key |
azure.storage.blob-endpoint | spring.cloud.azure.storage.blob.endpoint |
Изменения API
В следующей таблице показаны сопоставления классов от azure-spring-boot-starter-storage
spring-cloud-azure-starter-storage-blob
:
Устаревший класс | Современный класс |
---|---|
com.azure.spring.autoconfigure.storage.resource.Azure служба хранилища ProtocolResolver | com.azure.spring.core.resource.Azure служба хранилища BlobProtocolResolver |
com.azure.spring.autoconfigure.storage.resource.Blob служба хранилища Resource | com.azure.spring.core.resource. служба хранилища BlobResource |
com.azure.spring.autoconfigure.storage.resource.Azure служба хранилища ResourcePatternResolver | com.azure.spring.core.resource.Azure служба хранилища BlobProtocolResolver |
Из azure-spring-boot-starter-storage в spring-cloud-azure-starter-storage-file-share
Это руководство предназначено для поддержки миграции в spring-cloud-azure-starter-storage-file-share версии 3 azure-spring-boot-starter-storage.
Для получения общих сведений используйте следующие ссылки:
- Общие сведения об изменениях в версии 4.0 см. в разделах "Введение и миграция".
- Дополнительные сведения об изменениях стратегии в именовании проекта см . в разделе об изменениях именования.
- Сведения об использовании одного BOM для всех библиотек Azure Spring Cloud см. в разделе BOM .
- Сведения об обработке проверки подлинности в Spring Cloud Azure 4.0 см. в разделе об изменениях проверки подлинности.
- Сведения о том, как использовать
spring-boot-properties-migrator
во время миграции, см. в разделе "Настройка каждого пакета SDK ". - Дополнительные сведения о глобальных и распространенных изменениях конфигурации см. в разделе "Глобальные конфигурации ".
Изменения конфигурации пакета SDK
Все имена свойств конфигурации изменили префикс на azure.storage
spring.cloud.azure.storage.fileshare
.
В следующей таблице показаны сопоставления свойств от azure-spring-boot-starter-storage
spring-cloud-azure-starter-storage-file-share
:
Устаревшие свойства | Современные свойства |
---|---|
azure.storage.account-name | spring.cloud.azure.storage.fileshare.account-name |
azure.storage.account-key | spring.cloud.azure.storage.fileshare.account-key |
azure.storage.file-endpoint | spring.cloud.azure.storage.fileshare.endpoint |
Изменения API
В следующей таблице показаны сопоставления классов от azure-spring-boot-starter-storage
spring-cloud-azure-starter-storage-file-share
:
Устаревший класс | Современный класс |
---|---|
com.azure.spring.autoconfigure.storage.resource.Azure служба хранилища ProtocolResolver | com.azure.spring.core.resource.Azure служба хранилища FileProtocolResolver |
com.azure.spring.autoconfigure.storage.resource.File служба хранилища Resource | com.azure.spring.core.resource. служба хранилища FileResource |
com.azure.spring.autoconfigure.storage.resource.Azure служба хранилища ResourcePatternResolver | com.azure.spring.core.resource.Azure служба хранилища FileProtocolResolver |
С azure-spring-cloud-starter-eventhubs до spring-cloud-azure-starter-integration-eventhubs
Это руководство предназначено для поддержки миграции в spring-cloud-azure-starter-integration-eventhubs из версии 2 azure-spring-cloud-starter-eventhubs.
Для получения общих сведений используйте следующие ссылки:
- Общие сведения об изменениях в версии 4.0 см. в разделах "Введение и миграция".
- Дополнительные сведения об изменениях стратегии в именовании проекта см . в разделе об изменениях именования.
- Сведения об использовании одного BOM для всех библиотек Azure Spring Cloud см. в разделе BOM .
- Сведения об обработке проверки подлинности в Spring Cloud Azure 4.0 см. в разделе об изменениях проверки подлинности.
- Сведения о том, как использовать
spring-boot-properties-migrator
во время миграции, см. в разделе "Настройка каждого пакета SDK ". - Дополнительные сведения о глобальных и распространенных изменениях конфигурации см. в разделе "Глобальные конфигурации ".
Изменения конфигурации пакета SDK
Важно!
Префикс конфигурации был изменен на spring.cloud.azure.eventhub
spring.cloud.azure.eventhubs.
Изменения дочерних записей для этого префикса см. в следующих таблицах:
В следующей таблице показаны сопоставления свойств от azure-spring-cloud-starter-eventhubs
spring-cloud-azure-starter-integration-eventhubs
:
Устаревшие свойства | Современные свойства |
---|---|
Spring.cloud.azure.resource-group | spring.cloud.azure.eventhubs.resource.resource-group |
Spring.cloud.azure.eventhub.namespace | spring.cloud.azure.eventhubs.namespace |
spring.cloud.azure.eventhub.connection-string | spring.cloud.azure.eventhubs.connection-string |
Spring.cloud.azure.eventhub.проверкаучетная запись point-storage | spring.cloud.azure.eventhubs.processor.проверкаpoint-store.account-name |
Spring.cloud.azure.eventhub.проверкаключ точки доступа | spring.cloud.azure.eventhubs.processor.проверкаpoint-store.account-key |
Spring.cloud.azure.eventhub.проверкаpoint-container | spring.cloud.azure.eventhubs.processor.проверкаpoint-store.container-name |
Например, изменение с:
spring:
cloud:
azure:
eventhub:
connection-string: ${AZURE_EVENTHUBS_CONNECTION_STRING}
checkpoint-storage-account: ${AZURE_CHECKPOINT_STORAGE_ACCOUNT_NAME}
checkpoint-access-key: ${AZURE_CHECKPOINT_ACCOUNT_KEY}
checkpoint-container: ${AZURE_CHECKPOINT_CONTAINER_NAME}
на:
spring:
cloud:
azure:
eventhubs:
connection-string: ${AZURE_EVENTHUBS_CONNECTION_STRING}
processor:
checkpoint-store:
container-name: ${AZURE_STORAGE_CONTAINER_NAME}
account-name: ${AZURE_STORAGE_ACCOUNT_NAME}
account-key: ${AZURE_STORAGE_ACCOUNT_KEY}
Изменения API
- Сведения об изменениях примечаний прослушивателя см. в руководстве <<по миграции в библиотеке сообщений migration-azure-spring-cloud-messaging, azure-spring-cloud-messaging>> .
- Удалите
EventHubOperation
с функцией подписки, перемещенной в классEventHubsMessageListenerContainer
, и функция отправки перемещена вEventHubsTemplate
. - Переименуйте
EventHubInboundChannelAdapter
имяEventHubsInboundChannelAdapter
в соответствии со службой Центры событий Azure. - Изменение конструктора на
EventHubInboundChannelAdapter(String, SubscribeByGroupOperation, String)
EventHubsInboundChannelAdapter(EventHubsMessageListenerContainer)
иEventHubsInboundChannelAdapter(EventHubsMessageListenerContainer, ListenerMode)
. - Измените
CheckpointConfig
стиль экземпляра на простой конструктор вместо стиля сборки. - Удалить API
EventHubOperation#setCheckpointConfig
. Чтобы задать конфигурацию проверка point для адаптера входящего канала, пользователи могут вызвать методEventHubsContainerProperties#setCheckpointConfig
. - Удалить API
EventHubOperation#setBatchConsumerConfig
. Чтобы задать конфигурацию пакетного использования для адаптера входящего канала, пользователи могут вызывать два методаEventHubsContainerProperties#getBatch#setMaxSize
иEventHubsContainerProperties#getBatch#setMaxWaitTime
между тем. - Для режима использования пакетной службы измените имена заголовков сообщений, преобразованные из пакетных сообщений.
- Измените заголовок сообщения на
azure_eventhub_enqueued_time
azure_eventhubs_batch_converted_enqueued_time
. - Измените заголовок сообщения на
azure_eventhub_offset
azure_eventhubs_batch_converted_offset
. - Измените заголовок сообщения на
azure_eventhub_sequence_number
azure_eventhubs_batch_converted_sequence_number
. - Измените заголовок сообщения на
azure_partition_key
azure_batch_converted_partition_key
.
- Измените заголовок сообщения на
- При публикации сообщений в Центры событий игнорируйте все заголовки сообщений, преобразованные из пакетных сообщений. К заголовкам относятся:
- azure_batch_converted_partition_key
- azure_eventhubs_batch_converted_enqueued_time
- azure_eventhubs_batch_converted_offset
- azure_eventhubs_batch_converted_sequence_number
- azure_eventhubs_batch_converted_system_properties
- azure_eventhubs_batch_converted_application_properties
- Режим
BATCH
проверка point работает только в пакетном режиме, который можно включить, передавListenerMode.BATCH
в конструктор EventHubsInboundChannelAdapter.
В следующей таблице показаны сопоставления классов от azure-spring-cloud-starter-eventhubs
spring-cloud-azure-starter-integration-eventhubs
:
Устаревший класс | Современный класс |
---|---|
com.azure.spring.integration.core.AzureHeaders | com.azure.spring.messaging.AzureHeaders |
com.azure.spring.integration.core.EventHubHeaders | com.azure.spring.messaging.eventhubs.support.EventHubsHeaders |
com.azure.spring.integration.core.api.CheckpointConfig | com.azure.spring.messaging.eventhubs.core. проверка point. Контрольная точкаConfig |
com.azure.spring.integration.core.api.CheckpointMode | com.azure.spring.messaging.eventhubs.core. проверка point. Контрольная точкаMode |
com.azure.spring.integration.core.api.reactor.Checkpointer | com.azure.spring.messaging. проверка point. Контрольный контрольный пункт |
com.azure.spring.integration.core.api.reactor.DefaultMessageHandler | com.azure.spring.integration.core.handler.DefaultMessageHandler |
com.azure.spring.integration.eventhub.inbound.EventHubInboundChannelAdapter | com.azure.spring.integration.eventhubs.inbound.EventHubsInboundChannelAdapter |
Пример фрагмента кода
EventHubsInboundChannelAdapter
пример кода:Устаревший код:
public class Demo { @Bean public EventHubInboundChannelAdapter messageChannelAdapter( @Qualifier("INPUT_CHANNEL") MessageChannel inputChannel, EventHubOperation eventhubOperation) { eventhubOperation.setCheckpointConfig(CheckpointConfig.builder().checkpointMode (CheckpointMode.MANUAL).build()); EventHubInboundChannelAdapter adapter = new EventHubInboundChannelAdapter("EVENTHUB_NAME", eventhubOperation, "CONSUMER_GROUP"); adapter.setOutputChannel(inputChannel); return adapter; } }
Современный код:
public class Demo { @Bean public EventHubsMessageListenerContainer messageListenerContainer(EventHubsProcessorFactory processorFactory) { EventHubsContainerProperties containerProperties = new EventHubsContainerProperties(); containerProperties.setEventHubName("EVENTHUB_NAME"); containerProperties.setConsumerGroup("CONSUMER_GROUP"); CheckpointConfig config = new CheckpointConfig(CheckpointMode.MANUAL); containerProperties.setCheckpointConfig(config); return new EventHubsMessageListenerContainer(processorFactory, containerProperties); } @Bean public EventHubsInboundChannelAdapter messageChannelAdapter(@Qualifier("INPUT_CHANNEL") MessageChannel inputChannel, EventHubsMessageListenerContainer listenerContainer) { EventHubsInboundChannelAdapter adapter = new EventHubsInboundChannelAdapter(listenerContainer); adapter.setOutputChannel(inputChannel); return adapter; } }
DefaultMessageHandler
пример кода:Устаревший код:
public class Demo { @Bean @ServiceActivator(inputChannel = "OUTPUT_CHANNEL") public MessageHandler messageSender(EventHubOperation eventhubOperation) { DefaultMessageHandler handler = new DefaultMessageHandler("EVENTHUB_NAME", eventhubOperation); handler.setSendCallback(new ListenableFutureCallback<Void>() { @Override public void onSuccess(Void result) { LOGGER.info("Message was sent successfully."); } @Override public void onFailure(Throwable ex) { LOGGER.error("There was an error sending the message.", ex); } }); return handler; } }
Современный код:
public class Demo { @Bean @ServiceActivator(inputChannel = "OUTPUT_CHANNEL") public MessageHandler messageSender(EventHubsTemplate eventhubOperation) { DefaultMessageHandler handler = new DefaultMessageHandler("EVENTHUB_NAME", eventhubOperation); handler.setSendCallback(new ListenableFutureCallback<Void>() { @Override public void onSuccess(Void result) { LOGGER.info("Message was sent successfully."); } @Override public void onFailure(Throwable ex) { LOGGER.error("There was an error sending the message.", ex); } }); return handler; } }
С azure-spring-integration-eventhubs до spring-integration-azure-eventhubs
Это руководство предназначено для поддержки миграции на spring-integration-azure-eventhubs с версии 2 azure-spring-integration-eventhubs.
- Общие сведения об изменениях в версии 4.0 см. в разделах "Введение и миграция".
- Дополнительные сведения об изменениях стратегии в именовании проекта см . в разделе об изменениях именования.
- Сведения об использовании одного BOM для всех библиотек Azure Spring Cloud см. в разделе BOM .
Изменения API
- Удалите
EventHubOperation
с функцией подписки, перемещенной в классEventHubsMessageListenerContainer
, и функция отправки перемещена вEventHubsTemplate
. - Переименуйте
EventHubInboundChannelAdapter
имяEventHubsInboundChannelAdapter
в соответствии со службой Центры событий Azure. - Изменение конструктора на
EventHubInboundChannelAdapter(String, SubscribeByGroupOperation, String)
EventHubsInboundChannelAdapter(EventHubsMessageListenerContainer)
иEventHubsInboundChannelAdapter(EventHubsMessageListenerContainer, ListenerMode)
. - Измените
CheckpointConfig
стиль экземпляра на простой конструктор вместо стиля сборки. - Удалить API
EventHubOperation#setCheckpointConfig
. Чтобы задать конфигурацию проверка point для адаптера входящего канала, пользователи могут вызвать методEventHubsContainerProperties#setCheckpointConfig
. - Удалить API
EventHubOperation#setBatchConsumerConfig
. Чтобы задать конфигурацию пакетного использования для адаптера входящего канала, пользователи могут вызывать два методаEventHubsContainerProperties#getBatch#setMaxSize
иEventHubsContainerProperties#getBatch#setMaxWaitTime
между тем. - Для режима использования пакетной службы измените имена заголовков сообщений, преобразованные из пакетных сообщений.
- Измените заголовок сообщения на
azure_eventhub_enqueued_time
azure_eventhubs_batch_converted_enqueued_time
. - Измените заголовок сообщения на
azure_eventhub_offset
azure_eventhubs_batch_converted_offset
. - Измените заголовок сообщения на
azure_eventhub_sequence_number
azure_eventhubs_batch_converted_sequence_number
. - Измените заголовок сообщения на
azure_partition_key
azure_batch_converted_partition_key
.
- Измените заголовок сообщения на
- При публикации сообщений в Центры событий игнорируйте все заголовки сообщений, преобразованные из пакетных сообщений. К заголовкам относятся:
- azure_batch_converted_partition_key
- azure_eventhubs_batch_converted_enqueued_time
- azure_eventhubs_batch_converted_offset
- azure_eventhubs_batch_converted_sequence_number
- azure_eventhubs_batch_converted_system_properties
- azure_eventhubs_batch_converted_application_properties
- Режим
BATCH
проверка point работает только в пакетном режиме, который можно включить, передавListenerMode.BATCH
в конструктор EventHubsInboundChannelAdapter.
В следующей таблице показаны сопоставления классов от azure-spring-integration-eventhubs
spring-integration-azure-eventhubs
:
Устаревший класс | Современный класс |
---|---|
com.azure.spring.integration.core.AzureHeaders | com.azure.spring.messaging.AzureHeaders |
com.azure.spring.integration.core.EventHubHeaders | com.azure.spring.messaging.eventhubs.support.EventHubsHeaders |
com.azure.spring.integration.core.api.CheckpointConfig | com.azure.spring.messaging.eventhubs.core. проверка point. Контрольная точкаConfig |
com.azure.spring.integration.core.api.CheckpointMode | com.azure.spring.messaging.eventhubs.core. проверка point. Контрольная точкаMode |
com.azure.spring.integration.core.api.reactor.Checkpointer | com.azure.spring.messaging. проверка point. Контрольный контрольный пункт |
com.azure.spring.integration.core.api.reactor.DefaultMessageHandler | com.azure.spring.integration.core.handler.DefaultMessageHandler |
com.azure.spring.integration.eventhub.inbound.EventHubInboundChannelAdapter | com.azure.spring.integration.eventhubs.inbound.EventHubsInboundChannelAdapter |
С azure-spring-cloud-starter-servicebus до spring-cloud-azure-starter-integration-servicebus
Это руководство предназначено для поддержки миграции в spring-cloud-azure-starter-integration-servicebus версии 2 azure-spring-cloud-starter-servicebus.
Для получения общих сведений используйте следующие ссылки:
- Общие сведения об изменениях в версии 4.0 см. в разделах "Введение и миграция".
- Дополнительные сведения об изменениях стратегии в именовании проекта см . в разделе об изменениях именования.
- Сведения об использовании одного BOM для всех библиотек Azure Spring Cloud см. в разделе BOM .
- Сведения об обработке проверки подлинности в Spring Cloud Azure 4.0 см. в разделе об изменениях проверки подлинности.
- Сведения о том, как использовать
spring-boot-properties-migrator
во время миграции, см. в разделе "Настройка каждого пакета SDK ". - Дополнительные сведения о глобальных и распространенных изменениях конфигурации см. в разделе "Глобальные конфигурации ".
Изменения конфигурации пакета SDK
Для всех параметров конфигурации, поддерживаемых в spring-cloud-azure-starter-integration-servicebus
, префикс остается как spring.cloud.azure.servicebus
.
В следующей таблице показаны сопоставления свойств от azure-spring-cloud-starter-servicebus
spring-cloud-azure-starter-integration-servicebus
:
Устаревшие свойства | Современные свойства |
---|---|
Spring.cloud.azure.resource-group | spring.cloud.azure.servicebus.resource.resource-group |
Spring.cloud.azure.servicebus.transport-type | spring.cloud.azure.servicebus.client.transport-type |
spring.cloud.azure.servicebus.retry-options.retry-mode | spring.cloud.azure.servicebus.retry.mode |
spring.cloud.azure.servicebus.retry-options.max-retries | spring.cloud.azure.servicebus.retry.exponential.max-retries или spring.cloud.azure.servicebus.retry.fixed.max-retries, следует настроить в зависимости от spring.cloud.azure.servicebus.retry.mode=fixed или экспоненциальной |
spring.cloud.azure.servicebus.retry-options.delay | spring.cloud.azure.servicebus.retry.exponential.base-delay или spring.cloud.azure.servicebus.retry.fixed.delay, следует настроить в зависимости от spring.cloud.azure.servicebus.retry.mode=fixed или экспоненциальной |
spring.cloud.azure.servicebus.retry-options.max-delay | spring.cloud.azure.servicebus.retry.exponential.max-delay |
spring.cloud.azure.servicebus.retry-options.try-timeout | spring.cloud.azure.servicebus.retry.try-timeout |
Изменения API
- Удалите
ServiceBusQueueOperation
иServiceBusTopicOperation
с функцией подписки, перемещенной в классServiceBusMessageListenerContainer
, и функция отправки перемещена вServiceBusTemplate
. - Удалите и
ServiceBusTopicInboundChannelAdapter
переместитеServiceBusQueueInboundChannelAdapter
функциональные возможности для прослушивания сущности очереди и раздела служебная шина в ServiceBusInboundChannelAdapter. - Изменение конструктора на
ServiceBusQueueInboundChannelAdapter(String, SubscribeByGroupOperation, String)
ServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer)
иServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer, ListenerMode)
. - Изменение конструктора на
ServiceBusTopicInboundChannelAdapter(String, SubscribeByGroupOperation, String)
ServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer)
иServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer, ListenerMode)
. - Удаление API
ServiceBusQueueOperation#setCheckpointConfig
иServiceBusTopicOperation#setCheckpointConfig
. Чтобы задать конфигурацию проверка point для адаптера входящего канала, пользователи могут вызывать методServiceBusContainerProperties#setAutoComplete
. Чтобы отключить режим автоматического завершения, эквивалентен режимуMANUAL
проверка point и включить его активациюRECORD
. - Удаление API
ServiceBusQueueOperatio#setClientConfig
иServiceBusTopicOperation#setClientConfig
. Чтобы настроить базовый объектServiceBusProcessorClient
, используемый адаптером входящего канала, пользователи могут использоватьServiceBusContainerProperties
вместо этого. - Удалите
CompletableFuture
поддержкуServiceBusTemplate
иDefaultMessageHandler
, вместо этого, поддержкуReactor
. - Добавьте новый API
ServiceBusTemplate#setDefaultEntityType
, чтобы указать тип сущности, который требуется, если для нееProducerProperties#entityType
не указана частьPropertiesSupplier<String, ProducerProperties>
. - Удаление заголовка
AzureHeaders.RAW_ID
сообщения. Вместо этого используйтеServiceBusMessageHeaders.MESSAGE_ID
.
В следующей таблице показаны сопоставления классов от azure-spring-cloud-starter-servicebus
spring-cloud-azure-starter-integration-servicebus
:
Устаревший класс | Современный класс |
---|---|
com.azure.spring.integration.core.AzureHeaders | com.azure.spring.messaging.AzureHeaders |
com.azure.spring.integration.servicebus.converter.ServiceBusMessageHeaders | com.azure.spring.messaging.servicebus.support.ServiceBusMessageHeaders |
com.azure.spring.integration.servicebus.converter.ServiceBusMessageConverter | com.azure.spring.messaging.servicebus.support.converter.ServiceBusMessageConverter |
com.azure.spring.integration.core.DefaultMessageHandler | com.azure.spring.integration.core.handler.DefaultMessageHandler |
com.azure.spring.integration.servicebus.inbound.ServiceBusQueueInboundChannelAdapter | com.azure.spring.integration.servicebus.inbound.ServiceBusInboundChannelAdapter |
com.azure.spring.integration.servicebus.inbound.ServiceBusTopicInboundChannelAdapter | com.azure.spring.integration.servicebus.inbound.ServiceBusInboundChannelAdapter |
Пример фрагмента кода
ServiceBusInboundChannelAdapter
пример кода:Устаревший код использования
ServiceBusQueueInboundChannelAdapter
илиServiceBusTopicInboundChannelAdapter
:public class Demo { @Bean public ServiceBusQueueInboundChannelAdapter queueMessageChannelAdapter( @Qualifier("INPUT_CHANNEL_NAME") MessageChannel inputChannel, ServiceBusQueueOperation queueOperation) { queueOperation.setCheckpointConfig(CheckpointConfig.builder().checkpointMode(CheckpointMode.MANUAL).build()); ServiceBusQueueInboundChannelAdapter adapter = new ServiceBusQueueInboundChannelAdapter("QUEUE_NAME", queueOperation); adapter.setOutputChannel(inputChannel); return adapter; } @Bean public ServiceBusTopicInboundChannelAdapter topicMessageChannelAdapter( @Qualifier("INPUT_CHANNEL_NAME") MessageChannel inputChannel, ServiceBusTopicOperation topicOperation) { topicOperation.setCheckpointConfig(CheckpointConfig.builder().checkpointMode(CheckpointMode.MANUAL).build()); ServiceBusTopicInboundChannelAdapter adapter = new ServiceBusTopicInboundChannelAdapter("TOPIC_NAME", topicOperation, "SUBSCRIPTION_NAME"); adapter.setOutputChannel(inputChannel); return adapter; } }
Современный код:
public class Demo { @Bean("queue-listener-container") public ServiceBusMessageListenerContainer messageListenerContainer(ServiceBusProcessorFactory processorFactory) { ServiceBusContainerProperties containerProperties = new ServiceBusContainerProperties(); containerProperties.setEntityName("QUEUE_NAME"); containerProperties.setAutoComplete(false); return new ServiceBusMessageListenerContainer(processorFactory, containerProperties); } @Bean public ServiceBusInboundChannelAdapter queueMessageChannelAdapter( @Qualifier("INPUT_CHANNEL") MessageChannel inputChannel, @Qualifier("queue-listener-container") ServiceBusMessageListenerContainer listenerContainer) { ServiceBusInboundChannelAdapter adapter = new ServiceBusInboundChannelAdapter(listenerContainer); adapter.setOutputChannel(inputChannel); return adapter; } @Bean("topic-listener-container") public ServiceBusMessageListenerContainer messageListenerContainer(ServiceBusProcessorFactory processorFactory) { ServiceBusContainerProperties containerProperties = new ServiceBusContainerProperties(); containerProperties.setEntityName("TOPIC_NAME"); containerProperties.setSubscriptionName("SUBSCRIPTION_NAME"); containerProperties.setAutoComplete(false); return new ServiceBusMessageListenerContainer(processorFactory, containerProperties); } @Bean public ServiceBusInboundChannelAdapter topicMessageChannelAdapter( @Qualifier("INPUT_CHANNEL") MessageChannel inputChannel, @Qualifier("topic-listener-container") ServiceBusMessageListenerContainer listenerContainer) { ServiceBusInboundChannelAdapter adapter = new ServiceBusInboundChannelAdapter(listenerContainer); adapter.setOutputChannel(inputChannel); return adapter; } }
DefaultMessageHandler
пример кода:Устаревший код, принимающие очередь в качестве примера:
public class Demo { @Bean @ServiceActivator(inputChannel = "OUTPUT_CHANNEL_NAME") public MessageHandler queueMessageSender(ServiceBusQueueOperation queueOperation) { DefaultMessageHandler handler = new DefaultMessageHandler("QUEUE_NAME", queueOperation); handler.setSendCallback(new ListenableFutureCallback<Void>() { @Override public void onSuccess(Void result) { LOGGER.info("Message was sent successfully."); } @Override public void onFailure(Throwable ex) { LOGGER.info("There was an error sending the message."); } }); return handler; } }
Современный код:
public class Demo { @Bean @ServiceActivator(inputChannel = "OUTPUT_CHANNEL_NAME") public MessageHandler queueMessageSender(ServiceBusTemplate serviceBusTemplate) { serviceBusTemplate.setDefaultEntityType(ServiceBusEntityType.QUEUE); DefaultMessageHandler handler = new DefaultMessageHandler("QUEUE_NAME", serviceBusTemplate); handler.setSendCallback(new ListenableFutureCallback<Void>() { @Override public void onSuccess(Void result) { LOGGER.info("Message was sent successfully for {}.", "QUEUE_NAME"); } @Override public void onFailure(Throwable ex) { LOGGER.info("There was an error sending the message."); } }); return handler; } }
От azure-spring-integration-servicebus до spring-integration-azure-servicebus
Это руководство предназначено для поддержки миграции на spring-integration-azure-servicebus с версии 2 azure-spring-integration-servicebus.
- Общие сведения об изменениях в версии 4.0 см. в разделах "Введение и миграция".
- Дополнительные сведения об изменениях стратегии в именовании проекта см . в разделе об изменениях именования.
- Сведения об использовании одного BOM для всех библиотек Azure Spring Cloud см. в разделе BOM .
Изменения API
- Удалите
ServiceBusQueueOperation
иServiceBusTopicOperation
с функцией подписки, перемещенной в классServiceBusMessageListenerContainer
, и функция отправки перемещена вServiceBusTemplate
. - Удалите и
ServiceBusTopicInboundChannelAdapter
переместитеServiceBusQueueInboundChannelAdapter
функциональные возможности для прослушивания сущности очереди и раздела служебная шина в ServiceBusInboundChannelAdapter. - Изменение конструктора на
ServiceBusQueueInboundChannelAdapter(String, SubscribeByGroupOperation, String)
ServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer)
иServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer, ListenerMode)
. - Изменение конструктора на
ServiceBusTopicInboundChannelAdapter(String, SubscribeByGroupOperation, String)
ServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer)
иServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer, ListenerMode)
. - Удаление API
ServiceBusQueueOperation#setCheckpointConfig
иServiceBusTopicOperation#setCheckpointConfig
. Чтобы задать конфигурацию проверка point для адаптера входящего канала, пользователи могут вызывать методServiceBusContainerProperties#setAutoComplete
. Чтобы отключить режим автоматического завершения, эквивалентен режимуMANUAL
проверка point и включить его активациюRECORD
. - Удаление API
ServiceBusQueueOperation#setClientConfig
иServiceBusTopicOperation#setClientConfig
. Чтобы настроить базовый объектServiceBusProcessorClient
, используемый адаптером входящего канала, пользователи могут использоватьServiceBusContainerProperties
вместо этого. - Удалите
CompletableFuture
поддержкуServiceBusTemplate
иDefaultMessageHandler
, вместо этого, поддержкуReactor
. - Добавьте новый API
ServiceBusTemplate#setDefaultEntityType
, чтобы указать тип сущности, который требуется, если для нееProducerProperties#entityType
не указана частьPropertiesSupplier<String, ProducerProperties>
. - Удаление заголовка
AzureHeaders.RAW_ID
сообщения. Вместо этого используйтеServiceBusMessageHeaders.MESSAGE_ID
.
В следующей таблице показаны сопоставления классов от azure-spring-integration-servicebus
spring-integration-azure-servicebus
:
Устаревший класс | Современный класс |
---|---|
com.azure.spring.integration.core.AzureHeaders | com.azure.spring.messaging.AzureHeaders |
com.azure.spring.integration.servicebus.converter.ServiceBusMessageHeaders | com.azure.spring.messaging.servicebus.support.ServiceBusMessageHeaders |
com.azure.spring.integration.servicebus.converter.ServiceBusMessageConverter | com.azure.spring.messaging.servicebus.support.converter.ServiceBusMessageConverter |
com.azure.spring.integration.core.DefaultMessageHandler | com.azure.spring.integration.core.handler.DefaultMessageHandler |
com.azure.spring.integration.servicebus.inbound.ServiceBusQueueInboundChannelAdapter | com.azure.spring.integration.servicebus.inbound.ServiceBusInboundChannelAdapter |
com.azure.spring.integration.servicebus.inbound.ServiceBusTopicInboundChannelAdapter | com.azure.spring.integration.servicebus.inbound.ServiceBusInboundChannelAdapter |
От azure-spring-cloud-starter-storage-queue до spring-cloud-azure-starter-integration-storage-queue
Это руководство предназначено для поддержки миграции в spring-cloud-azure-starter-integration-storage-queue с версии 2 azure-spring-cloud-starter-storage-queue.
Для получения общих сведений используйте следующие ссылки:
- Общие сведения об изменениях в версии 4.0 см. в разделах "Введение и миграция".
- Дополнительные сведения об изменениях стратегии в именовании проекта см . в разделе об изменениях именования.
- Сведения об использовании одного BOM для всех библиотек Azure Spring Cloud см. в разделе BOM .
- Сведения об обработке проверки подлинности в Spring Cloud Azure 4.0 см. в разделе об изменениях проверки подлинности.
- Сведения о том, как использовать
spring-boot-properties-migrator
во время миграции, см. в разделе "Настройка каждого пакета SDK ". - Дополнительные сведения о глобальных и распространенных изменениях конфигурации см. в разделе "Глобальные конфигурации ".
Изменения конфигурации пакета SDK
Все имена свойств конфигурации изменили префикс на spring.cloud.azure.storage
spring.cloud.azure.storage.queue
.
В следующей таблице показаны сопоставления свойств от azure-spring-cloud-starter-storage-queue
spring-cloud-azure-starter-integration-storage-queue
:
Устаревшие свойства | Современные свойства |
---|---|
spring.cloud.azure.storage.account | spring.cloud.azure.storage.queue.account-name |
spring.cloud.azure.storage.access-key | spring.cloud.azure.storage.queue.account-key |
spring.cloud.azure.storage.resource-group | spring.cloud.azure.storage.queue.resource.resource.group |
Изменения API
- Удалите и укажите
StorageQueueOperation
StorageQueueTemplate
вместо этого. - Удаление
checkpoint-mode
конфигурацииStorageQueueTemplate
в режиме поддерживается только в режимеMANUAL
.
В следующей таблице показаны сопоставления классов с azure-spring-cloud-starter-storage-queue
spring-cloud-azure-starter-integration-storage-queue
.
Устаревший класс | Современный класс |
---|---|
com.azure.spring.integration.core.AzureHeaders | com.azure.spring.messaging.AzureHeaders |
com.azure.spring.integration.storage.queue.converter. служба хранилища QueueMessageConverter | com.azure.spring.messaging.storage.queue.support.converter. служба хранилища QueueMessageConverter |
com.azure.spring.integration.core.api.reactor.Checkpointer | com.azure.spring.messaging. проверка point. Контрольный контрольный пункт |
com.azure.spring.integration.storage.queue. служба хранилища QueueTemplate | com.azure.spring.storage.queue.core. служба хранилища QueueTemplate |
com.azure.spring.integration.core.api.reactor.DefaultMessageHandler | com.azure.spring.integration.core.handler.DefaultMessageHandler |
com.azure.spring.integration.storage.queue.inbound. служба хранилища QueueMessageSource | com.azure.spring.integration.storage.queue.inbound. служба хранилища QueueMessageSource |
От azure-spring-integration-storage-queue до spring-integration-azure-storage-queue
Это руководство предназначено для поддержки миграции на spring-integration-azure-storage-queue с версии 2 azure-spring-integration-storage-queue.
- Общие сведения об изменениях в версии 4.0 см. в разделах "Введение и миграция".
- Дополнительные сведения об изменениях стратегии в именовании проекта см . в разделе об изменениях именования.
- Сведения об использовании одного BOM для всех библиотек Azure Spring Cloud см. в разделе BOM .
Изменения API
- Удалите и укажите
StorageQueueOperation
StorageQueueTemplate
вместо этого. - Удаление
checkpoint-mode
конфигурацииStorageQueueTemplate
в режиме поддерживается только в режимеMANUAL
.
В следующей таблице показаны сопоставления классов с azure-spring-integration-storage-queue
spring-integration-azure-storage-queue
.
Устаревший класс | Современный класс |
---|---|
com.azure.spring.integration.core.AzureHeaders | com.azure.spring.messaging.AzureHeaders |
com.azure.spring.integration.storage.queue.converter. служба хранилища QueueMessageConverter | com.azure.spring.messaging.storage.queue.support.converter. служба хранилища QueueMessageConverter |
com.azure.spring.integration.core.api.reactor.Checkpointer | com.azure.spring.messaging. проверка point. Контрольный контрольный пункт |
com.azure.spring.integration.storage.queue. служба хранилища QueueTemplate | com.azure.spring.storage.queue.core. служба хранилища QueueTemplate |
com.azure.spring.integration.core.api.reactor.DefaultMessageHandler | com.azure.spring.integration.core.handler.DefaultMessageHandler |
com.azure.spring.integration.storage.queue.inbound. служба хранилища QueueMessageSource | com.azure.spring.integration.storage.queue.inbound. служба хранилища QueueMessageSource |
Из azure-spring-cloud-stream-binder-eventhubs в spring-cloud-azure-stream-binder-eventhubs
Это руководство предназначено для поддержки миграции в spring-cloud-azure-stream-binder-eventhubs из версии 2 azure-spring-cloud-stream-binder-eventhubs.
Для получения общих сведений используйте следующие ссылки:
- Общие сведения об изменениях в версии 4.0 см. в разделах "Введение и миграция".
- Дополнительные сведения об изменениях стратегии в именовании проекта см . в разделе об изменениях именования.
- Сведения об использовании одного BOM для всех библиотек Azure Spring Cloud см. в разделе BOM .
- Сведения об обработке проверки подлинности в Spring Cloud Azure 4.0 см. в разделе об изменениях проверки подлинности.
- Сведения о том, как использовать
spring-boot-properties-migrator
во время миграции, см. в разделе "Настройка каждого пакета SDK ". - Дополнительные сведения о глобальных и распространенных изменениях конфигурации см. в разделе "Глобальные конфигурации ".
Изменения конфигурации пакета SDK
Важно!
Префикс конфигурации был изменен на spring.cloud.azure.eventhub
spring.cloud.azure.eventhubs.
Важно!
Тип привязки переименовывается из: eventhub
в eventhubs
.
Изменения дочерних записей для следующего префикса см. в следующей таблице.
В следующей таблице показаны сопоставления свойств от azure-spring-cloud-stream-binder-eventhubs
spring-cloud-azure-stream-binder-eventhubs
:
Устаревшие свойства | Современные свойства |
---|---|
Spring.cloud.azure.resource-group | spring.cloud.azure.eventhubs.resource.resource-group |
Spring.cloud.azure.eventhub.namespace | spring.cloud.azure.eventhubs.namespace |
spring.cloud.azure.eventhub.connection-string | spring.cloud.azure.eventhubs.connection-string |
Spring.cloud.azure.eventhub.проверкаучетная запись point-storage | spring.cloud.azure.eventhubs.processor.проверкаpoint-store.account-name |
Spring.cloud.azure.eventhub.проверкаключ точки доступа | spring.cloud.azure.eventhubs.processor.проверкаpoint-store.account-key |
Spring.cloud.azure.eventhub.проверкаpoint-container | spring.cloud.azure.eventhubs.processor.проверкаpoint-store.container-name |
spring.cloud.stream.eventhub.bindings.binding-name.consumer.max-batch-size | spring.cloud.stream.eventhubs.bindings.binding-name.consumer.batch.max-size |
spring.cloud.stream.eventhub.bindings.binding-name.consumer.max-wait-time | spring.cloud.stream.eventhubs.bindings.binding-name.consumer.batch.max-wait-time |
spring.cloud.stream.eventhub.bindings.binding-name.consumer.проверкарежим точки | spring.cloud.stream.eventhubs.bindings.binding-name.consumer.проверкаpoint.mode |
spring.cloud.stream.eventhub.bindings.binding-name.consumer.проверкачисло точек | spring.cloud.stream.eventhubs.bindings.binding-name.consumer.проверкаpoint.count |
spring.cloud.stream.eventhub.bindings.binding-name.consumer.проверкаинтервал точки | spring.cloud.stream.eventhubs.bindings.binding-name.consumer.проверкаpoint.interval |
spring.cloud.stream.eventhub.bindings.binding-name.consumer.start-position | spring.cloud.stream.eventhubs.bindings.binding-name.consumer.initial-partition-event-position |
Примечание.
Тип start-position
значения конфигурации также изменяется с перечисления com.azure.spring.integration.core.api.StartPosition
на перечисление map
для каждой StartPositionProperties
секции. Таким образом, ключ — это идентификатор секции, а значение состоит из com.azure.spring.cloud.service.eventhubs.properties.StartPositionProperties
свойств смещения, порядкового номера, даты и инклюзивности.
Примеры миграции конфигурации
Чтобы использовать строка подключения для проверки подлинности и перенести указанные выше упоминание свойства, изменения конфигурации перечислены ниже.
Устаревшая конфигурация:
spring:
cloud:
azure:
eventhub:
connection-string: ${AZURE_EVENTHUBS_CONNECTION_STRING}
checkpoint-storage-account: ${AZURE_CHECKPOINT_STORAGE_ACCOUNT_NAME}
checkpoint-access-key: ${AZURE_CHECKPOINT_ACCOUNT_KEY}
checkpoint-container: ${AZURE_CHECKPOINT_CONTAINER_NAME}
stream:
eventhub:
bindings:
<binding-name>:
consumer:
max-batch-size: ${AZURE_MAX_BATCH_SIZE}
max-wait-time: ${AZURE_MAX_WAIT_TIME}
checkpoint-mode: ${AZURE_CHECKPOINT_MODE}
checkpoint-count: ${AZURE_CHECKPOINT_COUNT}
checkpoint-interval: ${AZURE_CHECKPOINT_INTERVAL}
start-position: EARLIEST
Современная конфигурация:
spring:
cloud:
azure:
eventhubs:
connection-string: ${AZURE_EVENTHUBS_CONNECTION_STRING}
processor:
checkpoint-store:
container-name: ${AZURE_STORAGE_CONTAINER_NAME}
account-name: ${AZURE_STORAGE_ACCOUNT_NAME}
account-key: ${AZURE_STORAGE_ACCOUNT_KEY}
stream:
eventhubs:
bindings:
<binding-name>:
consumer:
batch:
max-size: ${AZURE_MAX_BATCH_SIZE}
max-wait-time: ${AZURE_MAX_WAIT_TIME}
checkpoint:
mode: ${AZURE_CHECKPOINT_MODE}
count: ${AZURE_CHECKPOINT_COUNT}
interval: ${AZURE_CHECKPOINT_INTERVAL}
initial-partition-event-position:
0:
offset: earliest
1:
sequence-number: 100
2:
enqueued-date-time: 2022-01-12T13:32:47.650005Z
4:
inclusive: false
Если вы используете субъекты безопасности вместо строка подключения, в версиях до 4.0 приложение сначала подключается к Azure Resource Manager (ARM) с указанным субъектом безопасности, а затем извлекает строка подключения указанного пространства имен с помощью ARM. В конце концов приложение использует полученный строка подключения для подключения к Центры событий Azure. Таким образом, предоставленный субъект безопасности должен быть предоставлен ролью участника для получения связанного пространства имен Центры событий Azure.
Для Azure Spring Apps 4.0 мы предоставляем два способа использования субъектов безопасности для проверки подлинности. Один по-прежнему использует субъекты для подключения к ARM и получения строка подключения, где Contributor
роль требуется для субъектов. Другие используют субъекты безопасности для проверки подлинности в идентификаторе Microsoft Entra ID, а затем подключаются к Центры событий Azure напрямую. В этом случае Contributor
роль больше не требуется, а для операций обмена сообщениями требуются другие Data
связанные роли. Чтобы убедиться, что субъекту безопасности предоставлено достаточное разрешение на доступ к ресурсу Azure, см. статью "Авторизация доступа с помощью идентификатора Microsoft Entra".
Для проверки подлинности на основе ARM, принимая субъект-службу в качестве примера, миграция конфигурации приведена ниже, где назначенная роль не должна изменяться:
Устаревшая конфигурация:
spring:
cloud:
azure:
client-id: ${AZURE_CLIENT_ID}
client-secret: ${AZURE_CLIENT_SECRET}
tenant-id: <tenant>
resource-group: ${EVENTHUB_RESOURCE_GROUP}
eventhub:
namespace: ${EVENTHUB_NAMESPACE}
Примечание.
Допустимые значенияtenant-id
: common
, organizations
consumers
или идентификатор клиента. Дополнительные сведения об этих значениях см. в разделе "Использована неправильная конечная точка (личные и учетные записи организации) в разделе "Ошибка" AADSTS50020 . Учетная запись пользователя от поставщика удостоверений не существует в клиенте. Сведения о преобразовании приложения с одним клиентом см. в разделе "Преобразование однотенантного приложения в мультитенантный" в идентификатор Microsoft Entra.
Требуется современная конфигурация, свойства для идентификатора подписки Azure и группы ресурсов:
spring:
cloud:
azure:
credential:
client-id: ${AZURE_CLIENT_ID}
client-secret: ${AZURE_CLIENT_SECRET}
profile:
tenant-id: <tenant>
subscription-id: ${AZURE_SUBSCRIPTION_ID}
eventhubs:
namespace: ${EVENTHUB_NAMESPACE}
resource:
resource-group: ${RESOURCE_GROUP}
Примечание.
Допустимые значенияtenant-id
: common
, organizations
consumers
или идентификатор клиента. Дополнительные сведения об этих значениях см. в разделе "Использована неправильная конечная точка (личные и учетные записи организации) в разделе "Ошибка" AADSTS50020 . Учетная запись пользователя от поставщика удостоверений не существует в клиенте. Сведения о преобразовании приложения с одним клиентом см. в разделе "Преобразование однотенантного приложения в мультитенантный" в идентификатор Microsoft Entra.
Вы также можете выполнить миграцию для проверки подлинности и авторизации с помощью идентификатора Microsoft Entra ID напрямую, не выполняя обход в ARM. Обязательно предоставьте субъекту безопасности необходимые Data
роли для операций обмена сообщениями. Ниже перечислены примеры конфигурации субъекта-службы и управляемого удостоверения:
С субъектом-службой
spring: cloud: azure: credential: client-id: ${AZURE_CLIENT_ID} client-secret: ${AZURE_CLIENT_SECRET} profile: tenant-id: <tenant> eventhubs: namespace: ${EVENTHUB_NAMESPACE}
Примечание.
Допустимые значенияtenant-id
: common
, organizations
consumers
или идентификатор клиента. Дополнительные сведения об этих значениях см. в разделе "Использована неправильная конечная точка (личные и учетные записи организации) в разделе "Ошибка" AADSTS50020 . Учетная запись пользователя от поставщика удостоверений не существует в клиенте. Сведения о преобразовании приложения с одним клиентом см. в разделе "Преобразование однотенантного приложения в мультитенантный" в идентификатор Microsoft Entra.
С управляемым удостоверением
spring: cloud: azure: credential: managed-identity-enabled: true client-id: ${AZURE_MANAGED_IDENTITY_CLIENT_ID} # Only needed when using a user-assigned managed identity eventhubs: namespace: ${EVENTHUB_NAMESPACE}
Изменения API
В следующей таблице показаны сопоставления классов с azure-spring-cloud-stream-binder-eventhubs
spring-cloud-azure-stream-binder-eventhubs
.
Устаревший класс | Современный класс |
---|---|
com.azure.spring.integration.core.api.reactor.Checkpointer | com.azure.spring.messaging. проверка point. Контрольный контрольный пункт |
com.azure.spring.integration.core.AzureHeaders | com.azure.spring.messaging.AzureHeaders |
com.azure.spring.integration.core.EventHubHeaders | com.azure.spring.messaging.eventhubs.support.EventHubsHeaders |
От azure-spring-cloud-stream-binder-servicebus-* до spring-cloud-azure-stream-binder-servicebus
Это руководство предназначено для поддержки миграции в spring-cloud-azure-stream-binder-servicebus версии 2 azure-spring-cloud-stream-binder-servicebus-queue или azure-spring-cloud-stream-binder-servicebus-topic.
Для получения общих сведений используйте следующие ссылки:
- Общие сведения об изменениях в версии 4.0 см. в разделах "Введение и миграция".
- Дополнительные сведения об изменениях стратегии в именовании проекта см . в разделе об изменениях именования.
- Сведения об использовании одного BOM для всех библиотек Azure Spring Cloud см. в разделе BOM .
- Сведения об обработке проверки подлинности в Spring Cloud Azure 4.0 см. в разделе об изменениях проверки подлинности.
- Сведения о том, как использовать
spring-boot-properties-migrator
во время миграции, см. в разделе "Настройка каждого пакета SDK ". - Дополнительные сведения о глобальных и распространенных изменениях конфигурации см. в разделе "Глобальные конфигурации ".
Изменения конфигурации пакета SDK
Важно!
Устаревшие либерные файлы привязки и azure-spring-cloud-stream-binder-servicebus-queue
azure-spring-cloud-stream-binder-servicebus-topic
теперь они объединяются в одну spring-cloud-azure-stream-binder-servicebus
.
Важно!
Тип привязки объединяется из servicebus-queue
и servicebus-topic
как servicebus
.
В следующей таблице перечислены новые свойства spring-cloud-azure-stream-binder-servicebus
конфигурации:
Современные свойства | Description |
---|---|
spring.cloud.stream.servicebus.bindings.binding-name.producer.entity-type | Если вы используете функцию отправки, необходимо задать тип сущности, который можно задать для раздела или очереди. |
В следующей таблице показаны сопоставления свойств от azure-spring-cloud-stream-binder-servicebus-*
spring-cloud-azure-stream-binder-servicebus
:
Устаревшие свойства | Современные свойства |
---|---|
Spring.cloud.azure.resource-group | spring.cloud.azure.servicebus.resource.resource-group |
Spring.cloud.azure.servicebus.transport-type | spring.cloud.azure.servicebus.client.transport-type |
spring.cloud.azure.servicebus.retry-options.retry-mode | spring.cloud.azure.servicebus.retry.mode |
spring.cloud.azure.servicebus.retry-options.max-retries | spring.cloud.azure.servicebus.retry.exponential.max-retries или spring.cloud.azure.servicebus.retry.fixed.max-retries, следует настроить в зависимости от spring.cloud.azure.servicebus.retry.mode=fixed или экспоненциальной |
spring.cloud.azure.servicebus.retry-options.delay | spring.cloud.azure.servicebus.retry.exponential.base-delay или spring.cloud.azure.servicebus.retry.fixed.delay, следует настроить в зависимости от spring.cloud.azure.servicebus.retry.mode=fixed или экспоненциальной |
spring.cloud.azure.servicebus.retry-options.max-delay | spring.cloud.azure.servicebus.retry.exponential.max-delay |
spring.cloud.azure.servicebus.retry-options.try-timeout | spring.cloud.azure.servicebus.retry.try-timeout |
spring.cloud.stream.servicebus.queue.bindings.* | spring.cloud.stream.servicebus.bindings.* |
spring.cloud.stream.servicebus.queue.bindings.binding-name.consumer.Параллелизма | spring.cloud.stream.servicebus.bindings.binding-name.consumer.max-concurrent-session/max-concurrent-calls |
spring.cloud.stream.servicebus.queue.bindings.binding-name.consumer.режим проверка point | spring.cloud.stream.servicebus.bindings.binding-name.consumer.автоматическое завершение |
spring.cloud.stream.servicebus.topic.bindings.* | spring.cloud.stream.servicebus.bindings.* |
spring.cloud.stream.servicebus.topic.bindings.binding-name.consumer.Параллелизма | spring.cloud.stream.servicebus.bindings.binding-name.consumer.max-concurrent-session/max-concurrent-calls |
spring.cloud.stream.servicebus.topic.bindings.binding-name.consumer.режим проверка point | spring.cloud.stream.servicebus.bindings.binding-name.consumer.автоматическое завершение |
Примечание.
Свойство параллелизма будет заменено maxConcurrentSessions при использовании true
sessionEnabled и maxConcurrentCalls при использовании sessionEnabled false
.
Примечание.
Включение автоматического завершения равно режиму RECORD
проверка point и наоборот режимуMANUAL
.
Примеры миграции конфигурации
Устаревшая конфигурация, принимая очередь в качестве примера:
spring:
cloud:
azure:
servicebus:
connection-string: ${AZURE_SERVICEBUS_BINDER_CONNECTION_STRING}
stream:
function:
definition: consume;supply
bindings:
consume-in-0:
destination: ${AZURE_SERVICEBUS_QUEUE_NAME}
supply-out-0:
destination: ${AZURE_SERVICEBUS_QUEUE_NAME}
servicebus:
queue:
bindings:
consume-in-0:
consumer:
checkpoint-mode: MANUAL
Современная конфигурация:
spring:
cloud:
azure:
servicebus:
connection-string: ${AZURE_SERVICEBUS_BINDER_CONNECTION_STRING}
stream:
function:
definition: consume;supply
bindings:
consume-in-0:
destination: ${AZURE_SERVICEBUS_QUEUE_NAME}
supply-out-0:
destination: ${AZURE_SERVICEBUS_QUEUE_NAME}
servicebus:
bindings:
consume-in-0:
consumer:
auto-complete: false
supply-out-0:
producer:
entity-type: queue #set as topic if needed
Если вы используете субъекты безопасности вместо строка подключения, в версиях до 4.0 приложение сначала подключается к Azure Resource Manager (ARM) с указанным субъектом безопасности, а затем извлекает строка подключения указанного пространства имен с помощью ARM. В конце концов приложение использует полученный строка подключения для подключения к Служебная шина Azure. Таким образом, предоставленный субъект безопасности должен быть предоставлен роли участника для получения связанного пространства имен Служебная шина Azure.
Для Azure Spring Apps 4.0 мы предоставляем два способа использования субъектов безопасности для проверки подлинности. Один по-прежнему использует субъекты для подключения к ARM и получения строка подключения, где Contributor
роль требуется для субъектов. Другие используют субъекты безопасности для проверки подлинности в идентификаторе Microsoft Entra, а затем подключаются к Служебная шина Azure напрямую. В этом случае Contributor
роль больше не требуется, а для операций обмена сообщениями требуются другие Data
связанные роли. Чтобы убедиться, что субъекту безопасности предоставлено достаточное разрешение на доступ к ресурсу Azure, см. статью "Авторизация доступа с помощью идентификатора Microsoft Entra".
Для проверки подлинности на основе ARM, принимая субъект-службу в качестве примера, миграция конфигурации приведена ниже, где назначенная роль не должна изменяться:
Устаревшая конфигурация:
spring:
cloud:
azure:
client-id: ${AZURE_CLIENT_ID}
client-secret: ${AZURE_CLIENT_SECRET}
tenant-id: <tenant>
resource-group: ${SERVICEBUS_RESOURCE_GROUP}
servicebus:
namespace: ${SERVICEBUS_NAMESPACE}
Примечание.
Допустимые значенияtenant-id
: common
, organizations
consumers
или идентификатор клиента. Дополнительные сведения об этих значениях см. в разделе "Использована неправильная конечная точка (личные и учетные записи организации) в разделе "Ошибка" AADSTS50020 . Учетная запись пользователя от поставщика удостоверений не существует в клиенте. Сведения о преобразовании приложения с одним клиентом см. в разделе "Преобразование однотенантного приложения в мультитенантный" в идентификатор Microsoft Entra.
Требуется современная конфигурация, свойства для идентификатора подписки Azure и группы ресурсов:
spring:
cloud:
azure:
credential:
client-id: ${AZURE_CLIENT_ID}
client-secret: ${AZURE_CLIENT_SECRET}
profile:
tenant-id: <tenant>
subscription-id: ${AZURE_SUBSCRIPTION_ID}
servicebus:
namespace: ${SERVICEBUS_NAMESPACE}
resource:
resource-group: ${SERVICEBUS_RESOURCE_GROUP}
Примечание.
Допустимые значенияtenant-id
: common
, organizations
consumers
или идентификатор клиента. Дополнительные сведения об этих значениях см. в разделе "Использована неправильная конечная точка (личные и учетные записи организации) в разделе "Ошибка" AADSTS50020 . Учетная запись пользователя от поставщика удостоверений не существует в клиенте. Сведения о преобразовании приложения с одним клиентом см. в разделе "Преобразование однотенантного приложения в мультитенантный" в идентификатор Microsoft Entra.
Вы также можете выполнить миграцию для проверки подлинности и авторизации с помощью идентификатора Microsoft Entra ID напрямую, не выполняя обход в ARM. Обязательно предоставьте субъекту безопасности необходимые Data
роли для операций обмена сообщениями. Ниже перечислены примеры конфигурации субъекта-службы и управляемого удостоверения:
С субъектом-службой
spring: cloud: azure: credential: client-id: ${AZURE_CLIENT_ID} client-secret: ${AZURE_CLIENT_SECRET} profile: tenant-id: <tenant> servicebus: namespace: ${SERVICEBUS_NAMESPACE}
Примечание.
Допустимые значенияtenant-id
: common
, organizations
consumers
или идентификатор клиента. Дополнительные сведения об этих значениях см. в разделе "Использована неправильная конечная точка (личные и учетные записи организации) в разделе "Ошибка" AADSTS50020 . Учетная запись пользователя от поставщика удостоверений не существует в клиенте. Сведения о преобразовании приложения с одним клиентом см. в разделе "Преобразование однотенантного приложения в мультитенантный" в идентификатор Microsoft Entra.
С управляемым удостоверением
spring: cloud: azure: credential: managed-identity-enabled: true client-id: ${AZURE_MANAGED_IDENTITY_CLIENT_ID} # Only needed when using a user-assigned managed identity servicebus: namespace: ${SERVICEBUS_NAMESPACE}
Изменения API
- Удаление заголовка
AzureHeaders.RAW_ID
сообщения. Вместо этого используйтеServiceBusMessageHeaders.MESSAGE_ID
.
В следующей таблице показаны сопоставления классов с azure-spring-cloud-stream-binder-eventhubs
spring-cloud-azure-stream-binder-eventhubs
.
Устаревший класс | Современный класс |
---|---|
com.azure.spring.integration.core.AzureHeaders | com.azure.spring.messaging.AzureHeaders |
com.azure.spring.integration.servicebus.converter.ServiceBusMessageHeaders | com.azure.spring.messaging.servicebus.support.ServiceBusMessageHeaders |
com.azure.spring.integration.core.api.Checkpointer | com.azure.spring.messaging. проверка point. Контрольный контрольный пункт |
azure-spring-cloud-messaging
Библиотека com.azure.spring:azure-spring-cloud-messaging
не готова к версии 4.0. Функция примечаний прослушивателя находится под редизайном, поэтому @AzureMessageListener
@AzureMessageListeners
@EnableAzureMessaging
в настоящее время не поддерживаются и заметки.