Руководство разработчика Spring Cloud Для Azure
Эта статья относится к:✅ версии 4.19.0 ✅ версии 5.19.0
Spring — это платформа приложений с открытым кодом, разработанная VMware, которая предоставляет упрощенный модульный подход для создания приложений Java. Spring Cloud Azure — это проект с открытым исходным кодом, который обеспечивает простую интеграцию Spring с Azure.
Дополнительные сведения о поддерживаемых версиях см. в разделе Сопоставления версий Spring.
Получение справки
Если у вас есть вопросы об этой документации, создайте проблему GitHub в одном из следующих репозиториев GitHub. Запросы на вытягивание также приветствуются.
Репозитории GitHub | Описание |
---|---|
azure/azure-sdk-for-java | Этот репозиторий содержит исходный код. |
MicrosoftDocs/azure-dev-docs | Этот репозиторий содержит документацию. |
Новые возможности версии 4.0 с 3.10.x
В этой документации рассматриваются изменения, внесенные в версии 4.0 с 3.10. Этот основной выпуск обеспечивает более высокую безопасность, более зависимые зависимости, поддержку готовности к работе и многое другое.
Кончик
Дополнительные сведения о миграции на 4.0 см. в руководстве по миграции 4.0.
В следующем списке приведены некоторые изменения, которые предоставляет Azure Spring Cloud 4.0:
- Единый интерфейс разработки с унифицированным именем проекта, идентификатором артефакта и свойствами.
- Упрощенное управление зависимостями с помощью одного
spring-cloud-azure-dependencies
BOM. - Расширенная поддержка Azure на Spring Initializr, чтобы охватывать Kafka, Центры событий, кэш Azure для Redis и конфигурацию приложений Azure.
- Переключение зависимостей модуля Spring для удаления избыточных слоев и запутанности.
- Поддержка управляемого удостоверения для конфигурации приложений Azure, Центров событий, служебной шины, Azure Cosmos DB, Key Vault, BLOB-объектов хранилища и очереди хранилища.
- Постоянная поддержка методов проверки подлинности в базовом пакете SDK Azure из библиотек Spring, таких как маркер SAS и проверка подлинности учетных данных маркера с помощью служебной шины и Центров событий.
- Цепочка учетных данных теперь включена по умолчанию, позволяя приложениям получать учетные данные из свойств приложения, переменных среды, управляемых удостоверений, УДостоверений и т. д. Дополнительные сведения см. в разделе DefaultAzureCredential клиентской библиотеки удостоверений Azure для Java.
- Детализированный контроль доступа на уровне ресурса (например, очереди служебной шины), чтобы обеспечить более эффективное управление безопасностью и соблюдение ИТ-политик.
- Дополнительные варианты, предоставляемые в spring-idiomatic, с помощью улучшенного покрытия автоматической настройки клиентов пакета SDK Azure для синхронных и асинхронных сценариев.
- Добавлены индикаторы работоспособности для конфигурации приложений Azure, Центров событий, Azure Cosmos DB, Key Vault, BLOB-объектов хранилища, очереди хранилища и файла хранилища.
- Поддержка Spring Cloud Sleuth для всех пакетов SDK azure на основе HTTP.
Руководство по миграции для версии 4.0
Дополнительные сведения о миграции на 4.0 см. в руководстве по миграции 4.0.
Начало работы
Настройка зависимостей
Счет материалов (BOM)
Если вы используете Maven, добавьте BOM в файл pom.xml в разделе dependencyManagement
, как показано в следующем примере. При использовании BOM вам не нужно указывать версии для любой из зависимостей Maven, так как управление версиями делегировано ВМ.
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.azure.spring</groupId>
<artifactId>spring-cloud-azure-dependencies</artifactId>
<version>5.19.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
С помощью Gradle можно импортировать spring-cloud-azure-dependencies
BOM следующим образом:
Используйте встроенную поддержку BOM Gradle, добавив зависимости, как показано в следующем примере:
import org.springframework.boot.gradle.plugin.SpringBootPlugin plugins { id("java") id("org.springframework.boot") version "3.2.O" } dependencies { implementation(platform(SpringBootPlugin.BOM_COORDINATES)) implementation(platform("com.azure.spring:spring-cloud-azure-dependencies:{version}")) }
Используйте подключаемый модуль
io.spring.dependency-management
и импортируйте BOM вdependencyManagement
, как показано в следующем примере:plugins { id("io.spring.dependency-management") version "1.1.0" } dependencyManagement { imports { mavenBom("com.azure.spring:spring-cloud-azure-dependencies:{version}") } }
Дополнительные сведения см. в справочном руководстве по подключаемым модулям Spring Boot Gradle.
Заметка
Если вы используете Spring Boot 2.x, обязательно установите для версии spring-cloud-azure-dependencies
значение 4.19.0
.
Этот счет материалов (BOM) должен быть настроен в разделе <dependencyManagement>
файла pom.xml. Это гарантирует, что все зависимости Azure Spring Cloud используют одну и ту же версию.
Дополнительные сведения о версии, используемой для этого BOM, см. в какой версии Spring Cloud Azure следует использовать.
Начальные зависимости
Spring Cloud Azure Starters — это набор удобных дескрипторов зависимостей для включения в приложение. Каждый начальный элемент содержит все зависимости и транзитивные зависимости, необходимые для начала использования соответствующего модуля Azure Spring Cloud. Эти начальные средства повышают разработку приложений Spring Boot со службами Azure.
Например, если вы хотите приступить к работе с Spring и Azure Cosmos DB для сохраняемости данных, включите в проект spring-cloud-azure-starter-cosmos
зависимость.
В следующей таблице перечислены начальные приложения, предоставляемые Spring Cloud Azure в группе com.azure.spring
:
Имя | Описание |
---|---|
spring-cloud-azure-starter | Основной начальный элемент, включая поддержку автоматической настройки. |
spring-cloud-azure-starter-active-directory | Начало использования идентификатора Microsoft Entra с Spring Security. |
spring-cloud-azure-starter-active-directory-b2c | Начало использования Azure Active Directory B2C с Spring Security. |
spring-cloud-azure-starter-appconfiguration | Начало использования конфигурации приложений Azure. |
spring-cloud-azure-starter-cosmos | Начало использования Azure Cosmos DB. |
spring-cloud-azure-starter-eventhubs | Начальный элемент для использования Центров событий Azure. |
spring-cloud-azure-starter-keyvault | Начальный элемент для использования Azure Key Vault. |
spring-cloud-azure-starter-keyvault-secret | Начало использования секретов Azure Key Vault. |
spring-cloud-azure-starter-keyvault-certificates | Начало использования сертификатов Azure Key Vault. |
spring-cloud-azure-starter-servicebus | Начало использования служебной шины Azure. |
spring-cloud-azure-starter-servicebus-jms | Начало использования служебной шины Azure и JMS. |
spring-cloud-azure-starter-storage | Начало использования службы хранилища Azure. |
spring-cloud-azure-starter-storage-blob | Начало использования BLOB-объекта службы хранилища Azure. |
spring-cloud-azure-starter-storage-file-share | Начало использования общей папки службы хранилища Azure. |
spring-cloud-azure-starter-storage-queue | Начальный элемент для использования очереди службы хранилища Azure. |
spring-cloud-azure-starter-actuator | Начальный элемент для использования Actuator Spring Boot, который предоставляет готовые к работе функции. |
В следующей таблице перечислены начальные средства поддержки Spring Data:
Имя | Описание |
---|---|
spring-cloud-azure-starter-data-cosmos | Начало использования Spring Data для Azure Cosmos DB. |
В следующей таблице перечислены начальные средства поддержки Spring Integration:
Имя | Описание |
---|---|
spring-cloud-azure-starter-integration-eventhubs | Начало использования Центров событий Azure и интеграции Spring. |
spring-cloud-azure-starter-integration-servicebus | Начальная версия для использования служебной шины Azure и Spring Integration. |
spring-cloud-azure-starter-integration-storage-queue | Начальная версия для использования очереди службы хранилища Azure и интеграции Spring. |
В следующей таблице перечислены начальные средства поддержки Spring Cloud Stream:
Имя | Описание |
---|---|
spring-cloud-azure-starter-stream-eventhubs | Начальные компоненты для использования Центров событий Azure и Spring Cloud Stream Binder. |
spring-cloud-azure-starter-stream-servicebus | Начало использования служебной шины Azure и Spring Cloud Stream Binder. |
В следующей таблице перечислены начальные средства поддержки MySQL:
Имя | Описание |
---|---|
spring-cloud-azure-starter-jdbc-mysql | Начальные элементы для использования Azure MySQLs и JDBC с помощью проверки подлинности Microsoft Entra. |
В следующей таблице перечислены начальные средства поддержки PostgreSQL:
Имя | Описание |
---|---|
spring-cloud-azure-starter-jdbc-postgresql | Начальные элементы для использования Azure PostgreSQL и JDBC с помощью проверки подлинности Microsoft Entra. |
Настройка Spring Boot 3
Для AZURE SDK требуется проверка подписи. Однако Spring Boot 3 не поддерживает проверку подписи JAR для предварительного режима (AOT) в JVM и для собственных образов. Дополнительные сведения см. в статье Использование предварительной обработки с помощью JVM и поддержки собственных образов GraalVM.
Чтобы устранить эту проблему, отключите проверку подписи JAR.
Создайте файл custom.security
в src/main/resources со следующим содержимым:jdk.jar.disabledAlgorithms=MD2, MD5, RSA, DSA
Если вы используете Maven, добавьте следующую конфигурацию:
<plugin> <groupId>org.graalvm.buildtools</groupId> <artifactId>native-maven-plugin</artifactId> <configuration> <buildArgs> <arg>-Djava.security.properties=src/main/resources/custom.security</arg> </buildArgs> </configuration> </plugin>
Если вы используете Gradle, добавьте следующую конфигурацию:
graalvmNative { binaries { main { buildArgs('-Djava.security.properties=' + file("$rootDir/custom.security").absolutePath) } } }
Обучение Spring Cloud Azure
Полный список примеров, демонстрирующих использование, см. в разделе Примеры Azure Spring Cloud.