Delen via


Zelfstudie: Een toepassing implementeren in Azure Spring Apps en deze verbinden met Azure Database for MySQL Flexible Server met behulp van Service Connector

In deze zelfstudie voert u de volgende taken uit met behulp van Azure Portal of de Azure CLI. Beide methoden worden beschreven in de volgende procedures.

  • Een exemplaar van Azure Spring Apps inrichten
  • Apps bouwen en implementeren in Azure Spring Apps
  • Azure Spring Apps integreren met Azure Database for MySQL met Service Connector

Waarschuwing

Microsoft raadt u aan de veiligste verificatiestroom te gebruiken die beschikbaar is. De verificatiestroom die in deze procedure wordt beschreven, vereist een zeer hoge mate van vertrouwen in de toepassing en brengt risico's met zich mee die niet aanwezig zijn in andere stromen. U moet deze stroom alleen gebruiken wanneer andere veiligere stromen, zoals beheerde identiteiten, niet haalbaar zijn.

Vereisten

Een exemplaar van Azure Spring Apps inrichten

In de volgende procedure wordt de Azure CLI-extensie gebruikt om een exemplaar van Azure Spring Apps in te richten.

  1. Azure CLI bijwerken met de Azure Spring Apps-extensie.

    az extension update --name spring
    
  2. Meld u aan bij de Azure CLI en kies uw actieve abonnement.

    az login
    az account list -o table
    az account set --subscription <Name or ID of subscription, skip if you only have 1 subscription>
    
  3. Maak een resourcegroep die uw app en een exemplaar van de Azure Spring Apps-service bevat.

    az group create --name ServiceConnector-tutorial-mysqlf --location eastus
    
  4. Maak een exemplaar van Azure Spring Apps. De naam moet tussen 4 en 32 tekens lang zijn en mag alleen kleine letters, cijfers en afbreekstreepjes bevatten. Het eerste teken van de azure Spring Apps-instantienaam moet een letter zijn en het laatste teken moet een letter of een getal zijn.

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

Een Azure Database for MySQL Flexible Server maken

Maak een MySQL Flexible Server-exemplaar. Vervang in de onderstaande <admin-username> opdracht de <admin-password> referenties van uw keuze om een beheerder te maken voor de flexibele MySQL-server. De gebruikersnaam van de beheerder mag niet azure_superuser,azure_pg_admin,admin,administrator,root,guest of public zijn. De naam mag niet met pg_ beginnen. Het wachtwoord moet 8 tot 128 tekens bevatten uit drie van de volgende categorieën: Engelse hoofdletters, Nederlandse kleine letters, cijfers en niet-alfanumerieke tekens (bijvoorbeeld !, #, %). Het wachtwoord mag niet bevatten 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>

De server wordt gemaakt met de volgende standaardwaarden, tenzij u deze handmatig overschrijft:

Instelling Standaardwaarde Beschrijving
servernaam Door systeem gegenereerd Een unieke naam ter identificatie van de Azure Database voor MySQL-server.
sku-name GP_Gen5_2 De naam van de SKU. Volgt de conventie {prijscategorie}_{compute generation}_{vCores} in de korte hand. De standaardinstelling is een Gen5-server voor algemeen gebruik, met 2 vCores. Ga naar onze pagina met prijzen voor meer informatie over de prijzen.
backup-retention 7 Hoe lang een back-up moet worden bewaard. De eenheid is dagen.
geo-redundant-backup Uitgeschakeld Of geografisch redundante back-ups moeten worden ingeschakeld voor deze server.
locatie westus2 De Azure-locatie voor de server.
ssl-enforcement Ingeschakeld Of SSL moet worden ingeschakeld voor deze server.
storage-size 5120 De opslagcapaciteit van de server (eenheid is MB).
version 5.7 De hoofdversie van MySQL.

Notitie

Standard_B1ms SKU wordt standaard gebruikt. Raadpleeg de prijzen van Azure Database for MySQL voor prijsinformatie.

Notitie

Zie de Azure CLI-documentatie voor meer informatie over de opdracht az mysql flexible-server create en de aanvullende parameters.

De app compileren en implementeren

  1. Maak de app waaraan een openbaar eindpunt is toegewezen. Als u Java-versie 11 hebt geselecteerd bij het genereren van het Azure Spring Apps-project, neemt u de --runtime-version=Java_11 switch op.

    az spring app create -n hellospring -s my-azure-spring -g ServiceConnector-tutorial-mysqlf --assign-endpoint true
    
  2. Voer de az spring connection create opdracht uit om de toepassing te verbinden die is geïmplementeerd in Azure Spring Apps met de MySQL Flexible Server-database. Vervang de onderstaande tijdelijke aanduidingen door uw eigen gegevens.

    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>
    
    Instelling Beschrijving
    --resource-group De naam van de resourcegroep die de app bevat die wordt gehost door Azure Spring Apps.
    --service De naam van de Azure Spring Apps-resource.
    --app De naam van de toepassing die wordt gehost door Azure Spring Apps die verbinding maakt met de doelservice.
    --target-resource-group De naam van de resourcegroep met het opslagaccount.
    --server De MySQL Flexible Server waarmee u verbinding wilt maken
    --database De naam van de database die u eerder hebt gemaakt.
    --secret name De gebruikersnaam van mySQL Flexible Server.
    --secret Het wachtwoord van de Flexibele MySQL-server.

    Notitie

    Als u het foutbericht 'Het abonnement is niet geregistreerd voor gebruik van Microsoft.ServiceLinker' wordt weergegeven, voert az provider register -n Microsoft.ServiceLinker u de serviceconnectorresourceprovider uit en voert u de verbindingsopdracht opnieuw uit.

  3. Voorbeeldcode klonen

    git clone https://github.com/Azure-Samples/serviceconnector-springcloud-mysql-springboot.git
    
  4. Bouw het project met behulp van Maven.

    cd serviceconnector-springcloud-mysql-springboot
    mvn clean package -DskipTests 
    
  5. Implementeer het JAR-bestand voor de app 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. Voer na de implementatie een query uit op de app-status met de volgende opdracht.

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

    U moet de volgende uitvoer zien:

    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                    -                     -
    
    

Volgende stappen

Volg de onderstaande zelfstudies voor meer informatie over Service Connector.