Compartir vía


Conexión de una base de datos de Azure Cosmos DB a la aplicación de Azure Spring Apps

Nota:

Los planes Básico, Estándar y Enterprise quedarán en desuso a partir de mediados de marzo de 2025, con un período de retirada de 3 años. Se recomienda realizar la transición a Azure Container Apps. Para más información, consulte el anuncio de retirada de Azure Spring Apps.

El plan Estándar por consumo y dedicado quedará obsoleto a partir del 30 de septiembre de 2024, con un cierre completo al cabo de seis meses. Se recomienda realizar la transición a Azure Container Apps. Para más información, consulte Migrar el plan Estándar por consumo y dedicado de Azure Spring Apps a Azure Container Apps.

Este artículo se aplica a: ✔️ Java ✔️ C#

La información de este artículo puede ponerse en práctica en: ✔️ Básico o Estándar ✔️ Enterprise

En lugar de configurar manualmente las aplicaciones de Spring Boot, puede conectar automáticamente servicios de Azure seleccionados a las aplicaciones mediante Azure Spring Apps. En este artículo se muestra cómo conectar la aplicación a una base de datos de Azure Cosmos DB.

Requisitos previos

Preparación del proyecto

  1. Agregue una de las siguientes dependencias al archivo pom.xml de la aplicación. Elija la dependencia que sea adecuada para el tipo de API.

    • Tipo de API: NoSQL

      <dependency>
          <groupId>com.azure.spring</groupId>
          <artifactId>spring-cloud-azure-starter-data-cosmos</artifactId>
      </dependency>
      
    • Tipo de API: MongoDB

      <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-data-mongodb</artifactId>
      </dependency>
      
    • Tipo de API: Cassandra

      <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-data-cassandra</artifactId>
      </dependency>
      
  2. Actualice la aplicación actual mediante la ejecución de az spring app deploy o cree una implementación para este cambio mediante la ejecución de az spring app deployment create.

Conexión de la aplicación a Azure Cosmos DB

Nota:

De forma predeterminada, los conectores de servicio se crean en el nivel de aplicación. Para invalidar las conexiones, puede volver a crear otras conexiones en las implementaciones.

Uso de la CLI de Azure

Use la CLI de Azure para configurar la aplicación Spring para conectarse a una base de datos NoSQL de Cosmos con una clave de acceso mediante el comando az spring connection create, como se muestra en el ejemplo siguiente. Asegúrese de reemplazar las variables del ejemplo por valores reales.

Nota:

La actualización de la configuración de la base de datos de Azure Cosmos DB puede tardar unos minutos en completarse.

Nota:

Si usa Cosmos Cassandra, use --key_space en lugar de --database. Si usa Cosmos Table, use --table en lugar de --database. Para obtener más información, consulte Inicio rápido: Creación de una conexión de servicio en Azure Spring Apps con la CLI de Azure.

az spring connection create cosmos-sql \
    --resource-group $AZURE_SPRING_APPS_RESOURCE_GROUP \
    --service $AZURE_SPRING_APPS_SERVICE_INSTANCE_NAME \
    --app $APP_NAME \
    --target-resource-group $COSMOSDB_RESOURCE_GROUP \
    --account $COSMOSDB_ACCOUNT_NAME \
    --database $DATABASE_NAME \
    --secret

Nota:

Si usa Service Connector por primera vez, empiece ejecutando el comando az provider register --namespace Microsoft.ServiceLinker para registrar el proveedor de recursos de Service Connector.

Sugerencia

Ejecute el comando az spring connection list-support-types --output table para obtener una lista de los servicios de destino compatibles con Azure Spring Apps y los métodos de autenticación. Si el sistema no reconoce el comando az spring, compruebe que ha instalado la extensión necesaria mediante la ejecución de az extension add --name spring.

Uso de Azure Portal

Como alternativa, puede usar Azure Portal para configurar esta conexión completando los pasos siguientes. Azure Portal proporciona las mismas funcionalidades que la CLI de Azure y una experiencia interactiva.

  1. Seleccione la instancia de Azure Spring Apps en Azure Portal y seleccione Aplicaciones en el menú de navegación. Elija la aplicación que quiere conectar y seleccione Service Connector en el menú de navegación.

  2. Seleccione Crear.

  3. En la pestaña Aspectos básicos, para el tipo de servicio, seleccione Cosmos DB y, después, elija una suscripción. En Tipo de API, seleccione Core (SQL) y elija una cuenta de Cosmos DB y una base de datos. En Tipo de cliente, seleccione Java y, a continuación, seleccione Siguiente: Autenticación. Si aún no ha creado la base de datos, consulte Inicio rápido: Creación de una cuenta, una base de datos, un contenedor y elementos de Azure Cosmos DB desde Azure Portal.

  4. En la pestaña Autenticación, elija Cadena de conexión. Service Connector recupera automáticamente la clave de acceso de la cuenta de Cosmos DB. Seleccione Siguiente: Redes.

  5. En la pestaña Redes, seleccione Configurar reglas de firewall para habilitar el acceso al servicio de destino y, después, seleccione Siguiente: Revisar y crear.

  6. En la pestaña Revisar y crear, espere a que se complete la validación y después seleccione Crear. Este proceso puede tardar unos minutos.

  7. Una vez generada la conexión entre las aplicaciones de Spring y la base de datos de Cosmos DB, puede verla en la página Service Connector y seleccionar el botón de despliegue para ver las variables de conexión configuradas.

Pasos siguientes

En este artículo ha aprendido a conectar una aplicación en Azure Spring Apps a una base de datos de Azure Cosmos DB. Para más información sobre la conexión de servicios a una aplicación, consulte Conexión a una caché de Azure Cache for Redis.