Guía para desarrolladores de Spring Cloud Azure

Spring Cloud Azure integra aplicaciones de Spring Boot con servicios de Azure. En esta guía para desarrolladores se explica cómo administrar dependencias, elegir inicios y usar ejemplos para acelerar el desarrollo de aplicaciones Java.

Para obtener más información sobre las versiones admitidas, vea Spring Versions Mapping.

Obtener ayuda

Si tiene alguna pregunta sobre esta documentación, cree un problema de GitHub en uno de los siguientes repositorios de GitHub. Los pull requests también son bienvenidos.

repositorios de GitHub Descripción
Azure/azure-sdk-for-java Este repositorio contiene el código fuente.
Azure-Samples/azure-spring-boot-samples Este repositorio contiene los ejemplos relacionados.
microsoftDocs/azure-dev-docs Este repositorio contiene la documentación.

Empezar

Configuración de dependencias

Lista de materiales (BOM)

Si usa Maven, añada el BOM al archivo pom.xml en la sección dependencyManagement, como se muestra en el siguiente ejemplo. Cuando usas la BOM, no tienes que especificar versiones para ninguna de las dependencias de Maven porque la BOM se encarga de gestionar las versiones.

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>com.azure.spring</groupId>
      <artifactId>spring-cloud-azure-dependencies</artifactId>
      <version>7.4.0</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

Con Gradle, puede importar la spring-cloud-azure-dependencies BOM de las maneras siguientes:

  • Use la compatibilidad nativa de BoM de Gradle agregando dependencias como se muestra en el ejemplo siguiente.

    import org.springframework.boot.gradle.plugin.SpringBootPlugin
    
    plugins {
      id("java")
      id("org.springframework.boot") version "4.0.1"
    }
    
    dependencies {
        implementation(platform(SpringBootPlugin.BOM_COORDINATES))
        implementation(platform("com.azure.spring:spring-cloud-azure-dependencies:{version}"))
    }
    
  • Utilice el complemento io.spring.dependency-management e importe la BOM en dependencyManagement, como se muestra en el siguiente ejemplo.

    plugins {
        id("io.spring.dependency-management") version "1.1.7"
    }
    
    dependencyManagement {
        imports {
            mavenBom("com.azure.spring:spring-cloud-azure-dependencies:{version}")
        }
    }
    

Para obtener más información, consulte Guía de referencia del complemento Gradle de Spring Boot.

Nota

Si usa Spring Boot 4.0.x, establezca la versión spring-cloud-azure-dependencies en 7.4.0.

Si usa Spring Boot 3.5.x, establezca la versión spring-cloud-azure-dependencies en 6.5.0.

Si utiliza Spring Boot 3.1.x-3.5.x, asegúrese de establecer la versión de spring-cloud-azure-dependencies en 5.25.0.

Si usa Spring Boot 2.x, asegúrese de establecer la versión de spring-cloud-azure-dependencies en 4.20.0.

Esta lista de materiales (BOM) debe configurarse en la sección <dependencyManagement> del archivo pom.xml. Esto garantiza que todas las dependencias de Spring Cloud Azure usen la misma versión.

Para obtener más información sobre la versión utilizada para este BOM, consulte Which Version of Spring Cloud Azure Should I Use.

Dependencias iniciales

Spring Cloud Azure Starters son un conjunto de descriptores de dependencia convenientes que se van a incluir en la aplicación. Cada iniciador contiene todas las dependencias y dependencias transitivas necesarias para empezar a usar el módulo correspondiente de Spring Cloud Azure. Estos starters impulsan el desarrollo de aplicaciones Spring Boot con servicios de Azure.

Por ejemplo, si desea empezar a usar Spring y Azure Cosmos DB para la persistencia de datos, incluya la dependencia spring-cloud-azure-starter-cosmos en el proyecto.

En la tabla siguiente se enumeran los inicios de aplicaciones proporcionados por Spring Cloud Azure en el grupo com.azure.spring:

Nombre Descripción
spring-cloud-azure-starter El módulo de inicio principal, incluida la compatibilidad con la autoconfiguración.
spring-cloud-azure-starter-active-directory El módulo inicial para usar Microsoft Entra ID con Spring Security.
spring-cloud-azure-starter-active-directory-b2c El inicializador para usar Azure Active Directory B2C con Spring Security.
spring-cloud-azure-starter-appconfiguration Guía de inicio para usar Azure App Configuration.
spring-cloud-azure-starter-appconfiguration-config Guía de inicio para usar Azure App Configuration Config.
spring-cloud-azure-starter-cosmos Introducción a Azure Cosmos DB.
spring-cloud-azure-starter-eventhubs Guía de inicio para usar Azure Event Hubs.
spring-cloud-azure-starter-eventgrid Introducción al uso de Azure Event Grid.
spring-cloud-azure-starter-keyvault Introducción al uso de Azure Key Vault.
spring-cloud-azure-starter-keyvault-secrets Introducción al uso de los secretos de Azure Key Vault.
spring-cloud-azure-starter-keyvault-jca Iniciador para usar JCA de Azure Key Vault.
spring-cloud-azure-starter-keyvault-certificates Introducción al uso de los certificados de Azure Key Vault.
spring-cloud-azure-starter-servicebus Guía de inicio para usar Azure Service Bus.
spring-cloud-azure-starter-servicebus-jms El iniciador para utilizar Azure Service Bus y JMS.
spring-cloud-azure-starter-storage Introducción al uso de Azure Storage.
spring-cloud-azure-starter-storage-blob Introducción al uso de Azure Blob Storage.
spring-cloud-azure-starter-storage-file-share Introducción al uso de Azure Storage File Share.
spring-cloud-azure-starter-storage-queue Introducción al uso de Azure Storage Queue.
spring-cloud-azure-starter-actuator El iniciador para usar Actuator de Spring Boot, que proporciona funcionalidades preparadas para producción.

En la siguiente tabla se enumeran los starters para el soporte de Spring Data:

Nombre Descripción
spring-cloud-azure-starter-data-cosmos El inicio para usar Spring Data para Azure Cosmos DB.

La siguiente tabla enumera los starters para el soporte de Spring Data Redis:

Nombre Descripción
spring-cloud-azure-starter-data-redis-lettuce El iniciador para usar Spring Data y Azure Cache for Redis con Lettuce.

La siguiente tabla enumera los starters para el soporte de Spring Integration:

Nombre Descripción
spring-cloud-azure-starter-integration-eventhubs El inicializador para usar Azure Event Hubs y Spring Integration.
spring-cloud-azure-starter-integration-servicebus El iniciador para usar Azure Service Bus y Spring Integration.
spring-cloud-azure-starter-integration-storage-queue Iniciador para usar Azure Storage Queue y Spring Integration.

En la tabla siguiente se enumeran los inicios para la compatibilidad con Spring Cloud Stream:

Nombre Descripción
spring-cloud-azure-starter-stream-eventhubs El módulo de arranque para usar Azure Event Hubs y Spring Cloud Stream Binder.
spring-cloud-azure-starter-stream-servicebus Iniciador para usar Azure Service Bus y Spring Cloud Stream Binder.

La siguiente tabla enumera los iniciadores para el soporte de MySQL:

Nombre Descripción
spring-cloud-azure-starter-jdbc-mysql Guía de inicio para usar Azure Database for MySQL y JDBC mediante la autenticación de Microsoft Entra.

La siguiente tabla muestra los iniciadores para la compatibilidad con PostgreSQL:

Nombre Descripción
spring-cloud-azure-starter-jdbc-postgresql Guía de inicio para usar Azure PostgreSQL y JDBC mediante la autenticación de Microsoft Entra.

Aprendizaje de Spring Cloud Azure

Para obtener una lista completa de ejemplos que muestran el uso, consulte Spring Cloud Azure Samples.

Novedades de la versión 4.0 desde la versión 3.10.x

En esta documentación se tratan los cambios realizados en la versión 4.0 desde la versión 3.10. Esta versión principal aporta una mejor seguridad, dependencias más ajustadas, compatibilidad con la preparación de producción y mucho más.

Propina

Para obtener más información sobre la migración a la versión 4.0, consulte Guía de migración para la versión 4.0.

En la lista siguiente se resumen algunos de los cambios que proporciona Spring Cloud Azure 4.0:

  • Una experiencia de desarrollo unificada, con el nombre de proyecto unificado, el identificador de artefacto y las propiedades.
  • Administración simplificada de dependencias mediante una sola spring-cloud-azure-dependencies BOM.
  • Se amplió la compatibilidad con Azure en Spring Initializr para incluir Kafka, Event Hubs, Azure Cache for Redis y Azure App Configuration.
  • Rediseñó las dependencias del módulo Spring para quitar capas y entrelazamiento excesivos.
  • Compatibilidad con identidad administrada para Azure App Configuration, Event Hubs, Service Bus, Azure Cosmos DB, Key Vault, Azure Blob Storage y Azure Queue Storage.
  • Compatibilidad permanente en nuestras bibliotecas Spring con los métodos de autenticación del SDK subyacente de Azure, como la autenticación mediante tokens SAS y credenciales de token con Service Bus y Event Hubs.
  • La cadena de credenciales ahora está habilitada de forma predeterminada, lo que permite a las aplicaciones obtener credenciales de las propiedades de la aplicación, las variables de entorno, la identidad administrada, los IDE, etc. Para obtener más información, consulte la sección DefaultAzureCredential de Azure Identity client library for Java.
  • Control de acceso pormenorizado a nivel de recurso (como una cola de Service Bus) para posibilitar un mejor gobierno de la seguridad y el cumplimiento de las directivas de TI.
  • Más opciones disponibles, siguiendo las convenciones de Spring, gracias a la mejora de la cobertura de la configuración automática de los clientes del SDK de Azure, tanto para escenarios síncronos como asíncronos.
  • Se han agregado indicadores de estado para Azure App Configuration, Event Hubs, Azure Cosmos DB, Key Vault, Storage Blob, Storage Queue y Storage File.
  • Compatibilidad con Spring Cloud Sleuth para todos los SDK de Azure basados en HTTP.