Tutorial: Bereitstellen einer Anwendung in Azure Spring Apps und Herstellen einer Verbindung mit Azure Database for MySQL Flexible Server mithilfe eines Dienstconnectors
In diesem Tutorial führen Sie die folgenden Aufgaben im Azure-Portal oder mit der Azure CLI aus. Beide Methoden werden in den folgenden Verfahren näher beschrieben.
- Bereitstellen einer Instanz von Azure Spring Apps
- Erstellen und Bereitstellen von Apps in Azure Spring Apps
- Integrieren von Azure Spring Apps in Azure Database for MySQL mit dem Dienstconnector
Warnung
Microsoft empfiehlt, immer den sichersten Authentifizierungsflow zu verwenden. Der in diesem Verfahren beschriebene Authentifizierungsflow erfordert ein sehr hohes Maß an Vertrauen in die Anwendung und birgt Risiken, die bei anderen Flows nicht vorhanden sind. Sie sollten diesen Flow nur verwenden, wenn andere sicherere Flows (z. B. verwaltete Identitäten) nicht anwendbar sind.
Voraussetzungen
- Installieren Sie JDK 8 oder JDK 11.
- Registrierung für ein Azure-Abonnement
- Installation der Azure CLI, Version 2.0.67 oder höher, und Installation der Azure Spring Apps-Erweiterung mit dem Befehl
az extension add --name spring
Bereitstellen einer Instanz von Azure Spring Apps
Im folgenden Verfahren verwenden Sie die Azure CLI-Erweiterung zum Bereitstellen einer Azure Spring Apps-Instanz.
Aktualisieren der Azure CLI mit der Azure Spring Apps-Erweiterung.
az extension update --name spring
Melden Sie sich bei der Azure CLI an, und wählen Sie Ihr aktives Abonnement aus.
az login az account list -o table az account set --subscription <Name or ID of subscription, skip if you only have 1 subscription>
Erstellen einer Ressourcengruppe zur Aufnahme Ihrer App und einer Instanz des Azure Spring Apps-Diensts.
az group create --name ServiceConnector-tutorial-mysqlf --location eastus
Erstellen Sie eine Instanz von Azure Spring Apps. Deren Name muss zwischen 4 und 32 Zeichen lang sein und darf nur Kleinbuchstaben, Ziffern und Bindestriche enthalten. Das erste Zeichen des Namens der Azure Spring Apps-Instanz muss ein Buchstabe und das letzte Zeichen entweder ein Buchstabe oder eine Ziffer sein.
az spring create -n my-azure-spring -g ServiceConnector-tutorial-mysqlf
Erstellen einer Instanz von Azure Database for MySQL Flexible Server
Erstellen einer MySQL Flexible Server-Instanz. Ersetzen Sie im folgenden Befehl <admin-username>
und <admin-password>
durch Anmeldeinformationen Ihrer Wahl, um einen Administratorbenutzer für den flexiblen MySQL-Server zu erstellen. Der Administratorbenutzername darf nicht azure_superuser, azure_pg_admin, admin, administrator, root, guest oder public lauten. Er kann nicht mit pg_ beginnen. Das Kennwort muss zwischen 8 und 128 Zeichen aus drei der folgenden Kategorien enthalten: englische Großbuchstaben, englische Kleinbuchstaben, Zahlen und nicht alphanumerische Zeichen (z. B. !
, #
, %
). Das Kennwort darf keinen username
enthalten.
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>
Der Server wird mit den folgenden Standardwerten erstellt, sofern Sie diese nicht manuell überschreiben:
Einstellung | Standardwert | Beschreibung |
---|---|---|
Servername | Systemgeneriert | Ein eindeutiger Name, der Ihren Server für Azure-Datenbank für MySQL identifiziert. |
sku-name | GP_Gen5_2 | Der Name der SKU. Folgt der Konvention „{Tarif}_{Computegeneration}_{virtuelle Kerne}“ in Kurzform. Der Standardwert ist ein Gen5-Server vom Typ „Universell“ mit zwei virtuellen Kernen. Weitere Informationen zu Preisen finden Sie auf unserer Seite mit den Preisen. |
backup-retention | 7 | Gibt die Aufbewahrungsdauer für eine Sicherung an. Die Einheit ist Tage. |
geo-redundant-backup | Disabled | Gibt an, ob georedundante Sicherungen für diesen Server aktiviert werden sollen. |
location | westus2 | Der Azure-Standort für den Server. |
ssl-enforcement | Aktiviert | Gibt an, ob SSL für diesen Server aktiviert werden soll. |
storage-size | 5120 | Die Speicherkapazität des Servers (Einheit: MB). |
version | 5.7 | Die MySQL-Hauptversion. |
Hinweis
Standardmäßig wird die SKU „Standard_B1ms“ verwendet. Informationen zu Preisen finden Sie unter Azure Database for MySQL – Preise.
Hinweis
Weitere Informationen zum Befehl az mysql flexible-server create
und den zugehörigen zusätzlichen Parametern finden Sie in der Dokumentation der Azure-Befehlszeilenschnittstelle.
Erstellen und Bereitstellen der App
Erstellen Sie die App mit einem zugewiesenen öffentlichen Endpunkt. Wenn Sie beim Generieren des Azure Spring Apps-Projekts Java Version 11 ausgewählt haben, schließen Sie den Schalter
--runtime-version=Java_11
ein.az spring app create -n hellospring -s my-azure-spring -g ServiceConnector-tutorial-mysqlf --assign-endpoint true
Führen Sie den Befehl
az spring connection create
aus, um die in Azure Spring Apps bereitgestellte Anwendung mit der MySQL Flexible Server-Datenbank zu verbinden. Ersetzen Sie die folgenden Platzhalter durch Ihre eigenen Informationen: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>
Einstellung Beschreibung --resource-group
Der Name der Ressourcengruppe, die die von Azure Spring Apps gehostete App enthält --service
Der Name der Azure Spring Apps-Ressource --app
Der Name der von Azure Spring Apps gehosteten Anwendung, die eine Verbindung mit dem Zieldienst herstellt --target-resource-group
Der Name der Ressourcengruppe mit dem Speicherkonto. --server
Der flexible MySQL-Server, mit dem Sie eine Verbindung herstellen möchten. --database
Der Name der Datenbank, die Sie zuvor erstellt haben --secret name
Der Benutzername des flexiblen MySQL-Servers. --secret
Das Kennwort des flexiblen MySQL-Servers. Hinweis
Wird die Fehlermeldung „Das Abonnement ist nicht für die Verwendung des Ressourcenanbieters "{0}" registriert.“ angezeigt, führen Sie
az provider register -n Microsoft.ServiceLinker
aus, um den Dienstconnector-Ressourcenanbieter zu registrieren. Führen Sie anschließend erneut den Verbindungsbefehl aus.Klonen des Beispielcodes
git clone https://github.com/Azure-Samples/serviceconnector-springcloud-mysql-springboot.git
Erstellen Sie das Projekt mithilfe von Maven:
cd serviceconnector-springcloud-mysql-springboot mvn clean package -DskipTests
Stellen Sie die JAR-Datei
target/demo-0.0.1-SNAPSHOT.jar
für die App bereit.az spring app deploy \ --name hellospring \ --service my-azure-spring \ --resource-group ServiceConnector-tutorial-mysqlf \ --artifact-path target/demo-0.0.1-SNAPSHOT.jar
Fragen Sie den App-Status nach der Bereitstellung mit dem folgenden Befehl ab:
az spring app list --resource-group ServiceConnector-tutorial-mysqlf --service my-azure-spring --output table
Die folgende Ausgabe sollte angezeigt werden:
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ächste Schritte
Befolgen Sie die unten aufgeführten Tutorials, um mehr über Service Connector zu erfahren.