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
- JDK 8 of JDK 11 installeren
- Aanmelden voor een Azure-abonnement
- Installeer de Azure CLI versie 2.0.67 of hoger en installeer de Azure Spring Apps-extensie met de opdracht:
az extension add --name spring
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.
Azure CLI bijwerken met de Azure Spring Apps-extensie.
az extension update --name spring
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>
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
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
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
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.Voorbeeldcode klonen
git clone https://github.com/Azure-Samples/serviceconnector-springcloud-mysql-springboot.git
Bouw het project met behulp van Maven.
cd serviceconnector-springcloud-mysql-springboot mvn clean package -DskipTests
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
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.