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
- Installera JDK 8 eller JDK 11
- Registrera dig för en Azure-prenumeration
- Installera Azure CLI version 2.0.67 eller senare och installera Azure Spring Apps-tillägget med kommandot :
az extension add --name spring
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.
Uppdatera Azure CLI med Azure Spring Apps-tillägget.
az extension update --name spring
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>
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
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
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
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.Klona exempelkod
git clone https://github.com/Azure-Samples/serviceconnector-springcloud-mysql-springboot.git
Skapa projektet med Maven.
cd serviceconnector-springcloud-mysql-springboot mvn clean package -DskipTests
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
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.