Compartir vía


Conexión de una instancia de Azure Database for MySQL a la aplicación en 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 jubilación de 3 años. Se recomienda realizar la transición a Azure Container Apps. Para obtener más información, consulte el anuncio de retirada de Azure Spring Apps.

El plan de consumo estándar 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 consumo estándar de Azure Spring Apps y el plan dedicado 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

Con Azure Spring Apps, puede conectar automáticamente los servicios de Azure seleccionados a las aplicaciones, en lugar de tener que configurar la aplicación de Spring Boot manualmente. En este artículo se muestra cómo conectar la aplicación a la instancia de Azure Database for MySQL.

Requisitos previos

Preparación del proyecto

  1. En el archivo pom.xml del proyecto, agregue la siguiente dependencia:

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>com.azure.spring</groupId>
        <artifactId>spring-cloud-azure-starter-jdbc-mysql</artifactId>
    </dependency>
    
  2. En el archivo application.properties, quite todas las propiedades de spring.datasource.*.

  3. 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 la instancia de Azure Database for MySQL

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.

Siga estos pasos para configurar la aplicación Spring para conectarse a un servidor flexible de Azure Database for MySQL con una identidad administrada asignada por el sistema.

  1. Use el siguiente comando para instalar la extensión sin contraseña de Service Connector para la CLI de Azure.

    az extension add --name serviceconnector-passwordless --upgrade
    
  2. A continuación, use el siguiente comando para crear una identidad administrada asignada por el usuario para la autenticación de Microsoft Entra. Asegúrese de reemplazar las variables del ejemplo por valores reales. Para obtener más información, consulte Configuración de la autenticación de Microsoft Entra para Azure Database for MySQL: servidor flexible.

    export AZ_IDENTITY_RESOURCE_ID=$(az identity create \
        --name $AZURE_USER_IDENTITY_NAME \
        --resource-group $AZURE_IDENTITY_RESOURCE_GROUP \
        --query id \
        --output tsv)
    
  3. Ejecute el comando az spring connection create, como se muestra en el ejemplo siguiente. Asegúrese de reemplazar las variables del ejemplo por valores reales.

    az spring connection create mysql-flexible \
        --resource-group $AZURE_SPRING_APPS_RESOURCE_GROUP \
        --service $AZURE_SPRING_APPS_SERVICE_INSTANCE_NAME \
        --app $APP_NAME \
        --target-resource-group $MYSQL_RESOURCE_GROUP \
        --server $MYSQL_SERVER_NAME \
        --database $DATABASE_NAME \
        --system-identity mysql-identity-id=$AZ_IDENTITY_RESOURCE_ID
    

Pasos siguientes

En este artículo, ha aprendido a conectar una aplicación de Azure Spring Apps a una instancia de Azure Database for MySQL. Para más información sobre cómo conectar servicios a una aplicación, vea Conexión de una base de datos de Azure Cosmos DB a una aplicación en Azure Spring Apps.