Guia do desenvolvedor do Spring Cloud Azure
Este artigo aplica-se a:✅ Versão 4.19.0 ✅ Versão 5.19.0
O Spring é uma estrutura de aplicativos de código aberto desenvolvida pela VMware que fornece uma abordagem simplificada e modular para a criação de aplicativos Java. O Spring Cloud Azure é um projeto de código aberto que fornece integração perfeita do Spring com o Azure.
Para obter mais informações sobre versões suportadas, consulte Spring Versions Mapping.
Obter ajuda
Se você tiver alguma dúvida sobre esta documentação, crie um problema do GitHub em um dos seguintes repositórios do GitHub. Pull requests também são bem-vindos.
Repositórios do GitHub | Descrição |
---|---|
Azure/azure-sdk-for-java | Este repositório contém o código-fonte. |
MicrosoftDocs/azure-dev-docs | Este repositório contém a documentação. |
O que há de novo na versão 4.0 desde a versão 3.10.x
Esta documentação abrange as alterações feitas na versão 4.0 desde a versão 3.10. Esta versão principal traz melhor segurança, dependências mais enxutas, suporte para prontidão de produção e muito mais.
Dica
Para obter mais informações sobre como migrar para a versão 4.0, consulte Guia de migração para a versão 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ências usando uma única lista técnica de
spring-cloud-azure-dependencies
. - Suporte expandido do Azure em Spring Initializr para abranger Kafka, Hubs de Eventos, Cache do Azure para Redis e Configuração de Aplicativo do Azure.
- Dependências do módulo Spring rearquitetadas para remover camadas em excesso e emaranhamento.
- Suporte de Identidade Gerenciada para Configuração de Aplicativo do Azure, Hubs de Eventos, Service Bus, Azure Cosmos DB, Cofre de Chaves, 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 Service Bus 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 de biblioteca de cliente do Azure Identity para Java.
- Controle de acesso granular no nível de recursos (como fila do Service Bus) para permitir melhor governança de segurança e aderência às políticas de TI.
- Mais opções expostas de forma idiomática por meio da cobertura aprimorada de configuração automática de clientes do SDK do Azure para cenários síncronos e assíncronos.
- Adicionados indicadores de integridade para Configuração de Aplicativo do Azure, Hubs de Eventos, Azure Cosmos DB, Cofre de Chaves, Blob de Armazenamento, Fila de Armazenamento e Arquivo de Armazenamento.
- Suporte do 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 versão 4.0, consulte Guia de migração para a versão 4.0.
Primeiros passos
Configuração de dependências
Lista de materiais (BOM)
Se você usar o Maven, adicione a lista técnica ao arquivo pom.xml na seção dependencyManagement
, conforme mostrado no exemplo a seguir. Ao usar a BOM, não é necessário especificar versões para nenhuma das dependências do Maven porque o controle de versão é delegado à 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 a lista técnica de spring-cloud-azure-dependencies
das seguintes maneiras:
Use o suporte nativo de BOM 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 a lista técnica 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 Spring Boot Gradle Plugin Reference Guide.
Observação
Se você estiver usando o Spring Boot 2.x, certifique-se de definir a versão spring-cloud-azure-dependencies
como 4.19.0
.
Esta lista de materiais (BOM) deve ser configurada na seção <dependencyManagement>
do seu 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 essa lista técnica, consulte qual versão do Spring Cloud Azure devo usar.
Dependências iniciais
O Spring Cloud Azure Starters é um conjunto de descritores de dependência convenientes para incluir em seu aplicativo. Cada starter contém todas as dependências e dependências transitivas necessárias para começar a usar seu módulo correspondente do Spring Cloud Azure. Esses iniciantes impulsionam o desenvolvimento do aplicativo 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
:
Designação | Descrição |
---|---|
spring-cloud-azure-starter | O motor de arranque principal, incluindo suporte de configuração automática. |
spring-cloud-azure-starter-active-directory | O ponto de partida para usar o Microsoft Entra ID com o Spring Security. |
spring-cloud-azure-starter-active-directory-b2c | O ponto de partida para usar o Azure Ative Directory B2C com o Spring Security. |
spring-cloud-azure-starter-appconfiguration | O ponto de partida para usar a Configuração de Aplicativo do Azure. |
primavera-nuvem-azure-starter-cosmos | O ponto de partida para usar o Azure Cosmos DB. |
spring-cloud-azure-starter-eventhubs | O ponto de partida 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 ponto de partida para usar os Segredos do Cofre da Chave do Azure. |
spring-cloud-azure-starter-keyvault-certificates | O ponto de partida para usar os Certificados do Azure Key Vault. |
spring-cloud-azure-starter-servicebus | O ponto de partida para usar o Barramento de Serviço do Azure. |
spring-cloud-azure-starter-servicebus-jms | O ponto de partida para usar o Barramento de Serviço do Azure e o JMS. |
spring-cloud-azure-starter-storage | O ponto de partida para usar o Armazenamento do Azure. |
spring-cloud-azure-starter-storage-blob | O ponto de partida para usar o Blob de Armazenamento do Azure. |
spring-cloud-azure-starter-storage-file-share | O ponto de partida para usar o Compartilhamento de Arquivos de Armazenamento do Azure. |
spring-cloud-azure-starter-storage-queue | O ponto de partida para usar a Fila de Armazenamento do Azure. |
spring-cloud-azure-starter-atuador | O acionador de partida para usar o atuador do Spring Boot, que fornece recursos prontos para produção. |
A tabela a seguir lista os iniciadores para o suporte ao Spring Data:
Designação | 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 iniciadores para o suporte ao Spring Integration:
Designação | Descrição |
---|---|
spring-cloud-azure-starter-integration-eventhubs | O ponto de partida para usar os Hubs de Eventos do Azure e a Integração do Spring. |
spring-cloud-azure-starter-integration-servicebus | O ponto de partida para usar o Barramento de Serviço do Azure e a Integração Spring. |
spring-cloud-azure-starter-integration-storage-queue | O ponto de partida 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:
Designação | Descrição |
---|---|
spring-cloud-azure-starter-stream-eventhubs | Os iniciadores para usar os Hubs de Eventos do Azure e o Spring Cloud Stream Binder. |
spring-cloud-azure-starter-stream-servicebus | O ponto de partida para usar o Barramento de Serviço do Azure e o Spring Cloud Stream Binder. |
A tabela a seguir lista os iniciantes para o suporte ao MySQL:
Designação | Descrição |
---|---|
spring-cloud-azure-starter-jdbc-mysql | Os iniciadores para usar o Azure MySQLs e JDBC por meio da autenticação do Microsoft Entra. |
A tabela a seguir lista os iniciadores para suporte ao PostgreSQL:
Designação | Descrição |
---|---|
spring-cloud-azure-starter-jdbc-postgresql | Os iniciadores para usar o Azure PostgreSQL e JDBC por meio da autenticação do Microsoft Entra. |
Configurando o Spring Boot 3
Os JARs do SDK do Azure exigem verificação de assinatura. No entanto, o Spring Boot 3 não suporta a verificação de assinatura JAR para o modo ahead of time (AOT) em uma JVM e para imagens nativas. Para obter mais informações, consulte Usando processamento antecipado com o JVM e de suporte a imagens nativas GraalVM.
Para resolver esse problema, desative a verificação de assinatura JAR.
Crie um arquivo de 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) } } }
Aprendendo o Azure do Spring Cloud
Para obter uma lista completa de exemplos que mostram o uso, consulte Spring Cloud Azure Samples.