Självstudie: Distribuera ett program till Azure Spring Apps och anslut det till Azure Database for MySQL – flexibel server med hjälp av Service Connector

I den här självstudien utför du följande uppgifter med hjälp av Azure Portal eller Azure CLI. Båda metoderna beskrivs i följande procedurer.

  • Etablera en instans av Azure Spring Apps
  • Skapa och distribuera appar till Azure Spring Apps
  • Integrera Azure Spring Apps med Azure Database for MySQL med Service Connector

Varning

Microsoft rekommenderar att du använder det säkraste tillgängliga autentiseringsflödet. Det autentiseringsflöde som beskrivs i den här proceduren kräver mycket stort förtroende för programmet och medför risker som inte finns i andra flöden. Du bör bara använda det här flödet när andra säkrare flöden, till exempel hanterade identiteter, inte är livskraftiga.

Förutsättningar

Etablera en instans av Azure Spring Apps

Följande procedur använder Azure CLI-tillägget för att etablera en instans av Azure Spring Apps.

  1. Uppdatera Azure CLI med Azure Spring Apps-tillägget.

    az extension update --name spring
    
  2. Logga in på Azure CLI och välj din aktiva prenumeration.

    az login
    az account list -o table
    az account set --subscription <Name or ID of subscription, skip if you only have 1 subscription>
    
  3. Skapa en resursgrupp som ska innehålla din app och en instans av Azure Spring Apps-tjänsten.

    az group create --name ServiceConnector-tutorial-mysqlf --location eastus
    
  4. Skapa en instans av Azure Spring Apps. Namnet måste vara mellan 4 och 32 tecken långt och får bara innehålla gemener, siffror och bindestreck. Det första tecknet i Azure Spring Apps-instansnamnet måste vara en bokstav och det sista tecknet måste vara antingen en bokstav eller ett tal.

    az spring create -n my-azure-spring -g ServiceConnector-tutorial-mysqlf
    

Skapa en flexibel Azure Database for MySQL-server

Skapa en MySQL– flexibel serverinstans. I kommandot nedan ersätter <admin-username> du och <admin-password> med valfria autentiseringsuppgifter för att skapa en administratörsanvändare för den flexibla MySQL-servern. Administratörsanvändarnamnet kan inte vara azure_superuser, azure_pg_admin, administratör, administratör, rot, gäst eller offentligt. Det får inte börja med pg_. Lösenordet måste innehålla mellan 8 och 128 tecken från tre av följande kategorier: engelska versaler, engelska gemener, siffror och icke-alfanumeriska tecken (till exempel !, #, %). Lösenordet får inte innehålla username.

az mysql flexible-server create \
    --resource-group ServiceConnector-tutorial-mysqlf \
    --name mysqlf-server \
    --database-name mysqlf-db \
    --admin-user <admin-username> \
    --admin-password <admin-password>

Servern skapas med följande standardvärden om du inte åsidosätter dem manuellt:

Inställning Standardvärde Beskrivning
server-name Systemgenererad Ett unikt namn för Azure Database för MySQL-server.
sku-name GP_Gen5_2 Namnet på SKU:n. Följer konventionen {pricing tier}_{compute generation}_{vCores} i kort hand. Standardvärdet är en Generell användning Gen5-server med 2 virtuella kärnor. Mer information om prissättningen finns på vår prissida.
backup-retention 7 Hur länge en säkerhetskopia ska behållas. Enheten är dagar.
geo-redundant-backup Inaktiverad Huruvida geo-redundanta säkerhetskopieringar ska aktiveras för den här servern eller inte.
plats westus2 Azure-platsen för servern.
ssl-enforcement Aktiverat Om SSL ska vara aktiverat eller inte för den här servern.
storage-size 5120 Serverns lagringskapacitet (enheten är megabyte).
version 5.7 Huvudversion för MySQL.

Kommentar

Standard_B1ms SKU används som standard. Prisinformation finns i Priser för Azure Database for MySQL.

Kommentar

Mer information om az mysql flexible-server create kommandot och dess ytterligare parametrar finns i Azure CLI-dokumentationen.

Skapa och distribuera appen

  1. Skapa appen med en offentlig slutpunkt tilldelad. Om du valde Java version 11 när du genererade Azure Spring Apps-projektet inkluderar du växeln --runtime-version=Java_11 .

    az spring app create -n hellospring -s my-azure-spring -g ServiceConnector-tutorial-mysqlf --assign-endpoint true
    
  2. az spring connection create Kör kommandot för att ansluta programmet som distribuerats till Azure Spring Apps till databasen MySQL Flexible Server. Ersätt platshållarna nedan med din egen information.

    az spring connection create mysql-flexible \
        --resource-group ServiceConnector-tutorial-mysqlf \
        --service my-azure-spring \
        --app hellospring \
        --target-resource-group ServiceConnector-tutorial-mysqlf \
        --server mysqlf-server \
        --database mysqlf-db \
        --secret name=<admin-username> secret=<admin-secret>
    
    Inställning beskrivning
    --resource-group Namnet på resursgruppen som innehåller appen som hanteras av Azure Spring Apps.
    --service Namnet på Azure Spring Apps-resursen.
    --app Namnet på programmet som hanteras av Azure Spring Apps som ansluter till måltjänsten.
    --target-resource-group Namnet på resursgruppen med lagringskontot.
    --server Den flexibla MySQL-server som du vill ansluta till
    --database Namnet på databasen som du skapade tidigare.
    --secret name Användarnamnet för MySQL – flexibel server.
    --secret Lösenordet för MySQL – flexibel server.

    Kommentar

    Om du ser felmeddelandet "Prenumerationen är inte registrerad för att använda Microsoft.ServiceLinker" kör az provider register -n Microsoft.ServiceLinker du för att registrera resursprovidern för Service Connector och kör anslutningskommandot igen.

  3. Klona exempelkod

    git clone https://github.com/Azure-Samples/serviceconnector-springcloud-mysql-springboot.git
    
  4. Skapa projektet med Maven.

    cd serviceconnector-springcloud-mysql-springboot
    mvn clean package -DskipTests 
    
  5. Distribuera JAR-filen för appen target/demo-0.0.1-SNAPSHOT.jar.

    az spring app deploy \
        --name hellospring \
        --service my-azure-spring \
        --resource-group ServiceConnector-tutorial-mysqlf \
        --artifact-path target/demo-0.0.1-SNAPSHOT.jar
    
  6. Fråga efter appstatus efter distributionen med följande kommando.

    az spring app list  --resource-group ServiceConnector-tutorial-mysqlf --service my-azure-spring --output table
    

    Du bör se följande utdata:

    Name         Location    ResourceGroup                     Public Url                                                 Production Deployment    Provisioning State    CPU    Memory    Running Instance    Registered Instance    Persistent Storage    Bind Service Registry    Bind Application Configuration Service
    -----------  ----------  --------------------------------  ---------------------------------------------------------  -----------------------  --------------------  -----  --------  ------------------  ---------------------  --------------------  -----------------------  ----------------------------------------
    hellospring  eastus      ServiceConnector-tutorial-mysqlf  https://my-azure-spring-hellospring.azuremicroservices.io  default                  Succeeded             1      1Gi       1/1                 0/1                    -                     -
    
    

Nästa steg

Följ självstudierna nedan om du vill veta mer om Service Connector.