Guia do desenvolvedor do Spring Cloud Azure
Este artigo se aplica a:✅ versão 4.19.0 ✅ versão 5.19.0
O Spring é uma estrutura de aplicativos de software livre desenvolvida pelo VMware que fornece uma abordagem modular simplificada para criar aplicativos Java. O Spring Cloud Azure é um projeto de software livre que fornece integração perfeita do Spring com o Azure.
Para obter mais informações sobre versões com suporte, consulte de mapeamento de versões do Spring .
Obter ajuda
Se você tiver dúvidas sobre essa documentação, crie um problema do GitHub em um dos seguintes repositórios do GitHub. Solicitações de pull também são bem-vindas.
Repositórios do GitHub | Descrição |
---|---|
do Azure/azure-sdk-for-java | Esse repositório contém o código-fonte. |
MicrosoftDocs/azure-dev-docs | Esse repositório contém a documentação. |
Novidades na versão 4.0 desde 3.10.x
Esta documentação aborda as alterações feitas na 4.0 desde 3.10. Esta versão principal traz melhor segurança, dependências mais enxutas, suporte para preparação para produção e muito mais.
Ponta
Para obter mais informações sobre como migrar para a 4.0, consulte Guia de Migração para 4.0.
A lista a seguir resume algumas das alterações que o Spring Cloud Azure 4.0 fornece:
- Uma experiência de desenvolvimento unificada, com nome de projeto unificado, ID de artefato e propriedades.
- Gerenciamento simplificado de dependência usando um único
spring-cloud-azure-dependencies
BOM. - Suporte expandido do Azure no Spring Initializr para cobrir Kafka, Hubs de Eventos, Cache do Azure para Redis e Configuração de Aplicativos do Azure.
- Dependências do módulo Spring rearquitecadas para remover camadas em excesso e emaranhamento.
- Suporte à Identidade Gerenciada para Configuração de Aplicativos do Azure, Hubs de Eventos, Barramento de Serviço, Azure Cosmos DB, Key Vault, Blob de Armazenamento e Fila de Armazenamento.
- Suporte contínuo para métodos de autenticação no SDK do Azure subjacente de nossas bibliotecas spring, como token SAS e autenticação de credenciais de token com o Barramento de Serviço e Hubs de Eventos.
- A cadeia de credenciais agora está habilitada por padrão, permitindo que os aplicativos obtenham credenciais de propriedades do aplicativo, variáveis de ambiente, identidade gerenciada, IDEs e assim por diante. Para obter mais informações, consulte a seção DefaultAzureCredential da biblioteca de clientes Identidade do Azure para Java.
- Controle de acesso granular no nível de recurso (como fila do Barramento de Serviço) para habilitar uma melhor governança de segurança e adesão às políticas de TI.
- Mais opções expostas de uma maneira spring-idiomatica por meio de uma cobertura de configuração automática aprimorada de clientes do SDK do Azure para cenários síncronos e assíncronos.
- Foram adicionados indicadores de integridade para a Configuração de Aplicativos do Azure, Hubs de Eventos, Azure Cosmos DB, Key Vault, Blob de Armazenamento, Fila de Armazenamento e Arquivo de Armazenamento.
- Suporte ao Spring Cloud Sleuth para todos os SDKs do Azure baseados em HTTP.
Guia de migração para 4.0
Para obter mais informações sobre como migrar para a 4.0, consulte Guia de Migração para 4.0.
Introdução
Configurando dependências
Cobrança de materiais (BOM)
Se você usar o Maven, adicione o BOM ao arquivo pom.xml na seção dependencyManagement
, conforme mostrado no exemplo a seguir. Ao usar o BOM, você não precisa especificar versões para nenhuma das dependências do Maven porque o controle de versão é delegado ao BOM.
<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>
Com o Gradle, você pode importar o BOM spring-cloud-azure-dependencies
das seguintes maneiras:
Use o suporte bom nativo do Gradle adicionando dependências, conforme mostrado no exemplo a seguir:
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}")) }
Use o plug-in
io.spring.dependency-management
e importe o BOM emdependencyManagement
, conforme mostrado no exemplo a seguir:plugins { id("io.spring.dependency-management") version "1.1.0" } dependencyManagement { imports { mavenBom("com.azure.spring:spring-cloud-azure-dependencies:{version}") } }
Para obter mais informações, consulte Guia de Referência do Plug-in do Spring Boot Gradle.
Nota
Se você estiver usando o Spring Boot 2.x, defina a versão spring-cloud-azure-dependencies
como 4.19.0
.
Essa Nota de Material (BOM) deve ser configurada na seção <dependencyManagement>
do arquivo pom.xml. Isso garante que todas as dependências do Spring Cloud Azure estejam usando a mesma versão.
Para obter mais informações sobre a versão usada para este BOM, consulte qual versão do Spring Cloud Azure devo usar.
Dependências de inicialização
O Spring Cloud Azure Starters é um conjunto de descritores de dependência convenientes a serem incluídos em seu aplicativo. Cada iniciador contém todas as dependências e dependências transitivas necessárias para começar a usar o módulo correspondente do Spring Cloud Azure. Esses iniciados impulsionam o desenvolvimento de aplicativos do Spring Boot com os serviços do Azure.
Por exemplo, se você quiser começar a usar o Spring e o Azure Cosmos DB para persistência de dados, inclua a dependência spring-cloud-azure-starter-cosmos
em seu projeto.
A tabela a seguir lista os iniciadores de aplicativos fornecidos pelo Spring Cloud Azure no grupo com.azure.spring
:
Nome | Descrição |
---|---|
spring-cloud-azure-starter | O início principal, incluindo o suporte à configuração automática. |
spring-cloud-azure-starter-active-directory | O início para usar a ID do Microsoft Entra com o Spring Security. |
spring-cloud-azure-starter-active-directory-b2c | O início para usar o Azure Active Directory B2C com o Spring Security. |
spring-cloud-azure-starter-appconfiguration | O início para usar a Configuração de Aplicativos do Azure. |
spring-cloud-azure-starter-cosmos | O início para usar o Azure Cosmos DB. |
spring-cloud-azure-starter-eventhubs | O início para usar os Hubs de Eventos do Azure. |
spring-cloud-azure-starter-keyvault | O Starter para usar o Azure Key Vault. |
spring-cloud-azure-starter-keyvault-secrets | O início para usar os Segredos do Azure Key Vault. |
spring-cloud-azure-starter-keyvault-certificates | O início para usar certificados do Azure Key Vault. |
spring-cloud-azure-starter-servicebus | O início para usar o Barramento de Serviço do Azure. |
spring-cloud-azure-starter-servicebus-jms | O início para usar o Barramento de Serviço do Azure e o JMS. |
spring-cloud-azure-starter-storage | O início para usar o Armazenamento do Azure. |
spring-cloud-azure-starter-storage-blob | O início para usar o Blob de Armazenamento do Azure. |
spring-cloud-azure-starter-storage-file-share | O início para usar o Compartilhamento de Arquivos de Armazenamento do Azure. |
spring-cloud-azure-starter-storage-queue | O início para usar a Fila de Armazenamento do Azure. |
spring-cloud-azure-starter-actuator | O início para usar o Actuator do Spring Boot, que fornece recursos prontos para produção. |
A tabela a seguir lista os iniciantes para o suporte ao Spring Data:
Nome | Descrição |
---|---|
spring-cloud-azure-starter-data-cosmos | O início para usar o Spring Data para o Azure Cosmos DB. |
A tabela a seguir lista os iniciantes para o suporte ao Spring Integration:
Nome | Descrição |
---|---|
spring-cloud-azure-starter-integration-eventhubs | O início para usar os Hubs de Eventos do Azure e o Spring Integration. |
spring-cloud-azure-starter-integration-servicebus | O início para usar o Barramento de Serviço do Azure e o Spring Integration. |
spring-cloud-azure-starter-integration-storage-queue | O início para usar a Fila de Armazenamento do Azure e a Integração do Spring. |
A tabela a seguir lista os iniciantes para o suporte ao Spring Cloud Stream:
Nome | Descrição |
---|---|
spring-cloud-azure-starter-stream-eventhubs | Os iniciantes para usar os Hubs de Eventos do Azure e o Spring Cloud Stream Binder. |
spring-cloud-azure-starter-stream-servicebus | O início para usar o Barramento de Serviço do Azure e o Spring Cloud Stream Binder. |
A tabela a seguir lista os iniciantes para suporte ao MySQL:
Nome | Descrição |
---|---|
spring-cloud-azure-starter-jdbc-mysql | Os iniciantes para usar o Azure MySQLs e o JDBC por meio da autenticação do Microsoft Entra. |
A tabela a seguir lista os iniciantes para suporte ao PostgreSQL:
Nome | Descrição |
---|---|
spring-cloud-azure-starter-jdbc-postgresql | Os iniciantes para usar o PostgreSQL do Azure e o JDBC por meio da autenticação do Microsoft Entra. |
Configurando o Spring Boot 3
Os JARs do SDK do Azure exigem a verificação de assinatura. No entanto, o Spring Boot 3 não dá suporte à verificação de assinatura JAR para o modo AOT (antecipada) em uma JVM e para imagens nativas. Para obter mais informações, consulte Usando o processamento antecipada com o JVM e suporte à imagem nativa GraalVM.
Para resolver esse problema, desabilite a verificação da assinatura JAR.
Crie um arquivo custom.security em src/main/resources com o seguinte conteúdo:
jdk.jar.disabledAlgorithms=MD2, MD5, RSA, DSA
Se você estiver usando o Maven, adicione a seguinte configuração:
<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>
Se você estiver usando o Gradle, adicione a seguinte configuração:
graalvmNative { binaries { main { buildArgs('-Djava.security.properties=' + file("$rootDir/custom.security").absolutePath) } } }
Learning Spring Cloud Azure
Para obter uma lista completa de exemplos que mostram o uso, consulte Exemplos do Spring Cloud Azure.