Esercitazione: Distribuire un'applicazione in Azure Spring Apps e connetterla a Database di Azure per MySQL - Server flessibile tramite Connettore di servizi
In questa esercitazione verranno completate le attività seguenti usando il portale di Azure o l'interfaccia della riga di comando di Azure. I due metodi sono illustrati nelle procedure seguenti.
- Effettuare il provisioning di un'istanza di Azure Spring Apps
- Compilare e distribuire app in Azure Spring Apps
- Integrare Azure Spring Apps con Database di Azure per MySQL con Connettore di servizi
Avviso
Microsoft consiglia di usare il flusso di autenticazione più sicuro disponibile. Il flusso di autenticazione descritto in questa procedura richiede un livello di attendibilità molto elevato nell'applicazione e comporta rischi che non sono presenti in altri flussi. Si consiglia di usare questo flusso solo quando altri flussi più sicuri, come le identità gestite, non sono validi.
Prerequisiti
- Installare JDK 8 o JDK 11
- Iscriversi per ottenere una sottoscrizione di Azure
- Installare l'interfaccia della riga di comando di Azure versione 2.0.67 o successiva e installare l'estensione Azure Spring Apps con il comando
az extension add --name spring
Effettuare il provisioning di un'istanza di Azure Spring Apps
La procedura seguente usa l'estensione dell'interfaccia della riga di comando di Azure per effettuare il provisioning di un'istanza di Azure Spring Apps.
Aggiornare l'interfaccia della riga di comando di Azure con l'estensione Azure Spring Apps.
az extension update --name spring
Accedere all'interfaccia della riga di comando di Azure e scegliere una sottoscrizione attiva.
az login az account list -o table az account set --subscription <Name or ID of subscription, skip if you only have 1 subscription>
Creare un gruppo di risorse per contenere l'app e un'istanza del servizio Azure Spring Apps.
az group create --name ServiceConnector-tutorial-mysqlf --location eastus
Creare un'istanza di Azure Spring Apps. Il nome deve avere una lunghezza compresa tra 4 e 32 caratteri e può contenere solo lettere minuscole, numeri e trattini. Il primo carattere del nome dell'istanza di Azure Spring Apps deve essere una lettera e l'ultimo carattere deve essere una lettera o un numero.
az spring create -n my-azure-spring -g ServiceConnector-tutorial-mysqlf
Creare un server flessibile di Database di Azure per MySQL
Creare un'istanza del server flessibile MySQL. Nel comando seguente sostituire <admin-username>
e <admin-password>
con le credenziali che si vogliono usare per creare un utente amministratore per il server flessibile MySQL. Il nome utente amministratore non può essere azure_superuser, azure_pg_admin, admin, administrator, root, guest o public. Non può iniziare con pg_. La password deve contenere da 8 a 128 caratteri di tre delle categorie seguenti: lettere maiuscole, lettere minuscole, numeri e caratteri non alfanumerici, ad esempio !
, #
, %
. La password non può contenere 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>
Il server viene creato con i valori predefiniti seguenti, a meno che non li si sostituiscano manualmente:
Impostazione | Valore predefinito | Descrizione |
---|---|---|
server-name | Generato dal sistema | Nome univoco che identifica il database di Azure per il server MySQL. |
sku-name | GP_Gen5_2 | Il nome dello SKU. Segue la convenzione {piano tariffario}_{generazione di calcolo}_{Vcore} in sintassi abbreviata. L'impostazione predefinita è un server per utilizzo generico di quinta generazione con 2 vCore. Per altre informazioni sui prezzi, vedere la pagina dei prezzi. |
backup-retention | 7 | Specifica per quanto tempo deve essere conservato un backup. L'unità è giorni. |
geo-redundant-backup | Disabilitata | Indica se abilitare i backup con ridondanza geografica per questo server. |
location | westus2 | Località di Azure per il server. |
ssl-enforcement | Attivata | Indica se abilitare SSL per questo server. |
storage-size | 5120 | Capacità di archiviazione del server (l'unità è MB). |
versione | 5.7 | La versione principale di MySQL. |
Nota
Lo SKU Standard_B1ms viene usato per impostazione predefinita. Per informazioni dettagliate sui prezzi, vedere Prezzi di Database di Azure per MySQL.
Nota
Per altre informazioni sul comando az mysql flexible-server create
e i relativi parametri aggiuntivi, vedere la documentazione dell'interfaccia della riga di comando di Azure.
Compilare e distribuire l'app
Creare l'app con l'endpoint pubblico assegnato. Se è stata selezionata la versione 11 di Java durante la generazione del progetto di Azure Spring Apps, includere l'opzione
--runtime-version=Java_11
.az spring app create -n hellospring -s my-azure-spring -g ServiceConnector-tutorial-mysqlf --assign-endpoint true
Eseguire il comando
az spring connection create
per connettere l'applicazione distribuita in Azure Spring Apps al database del server flessibile MySQL. Sostituire i segnaposto seguenti con le proprie informazioni.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>
Impostazione Descrizione --resource-group
Nome del gruppo di risorse che contiene l'app ospitata da Azure Spring Apps. --service
Nome della risorsa di Azure Spring Apps. --app
Nome dell'applicazione ospitata da Azure Spring Apps che si connette al servizio di destinazione. --target-resource-group
Nome del gruppo di risorse con l’account di archiviazione. --server
Server flessibile MySQL a cui connettersi --database
Nome del database creato in precedenza. --secret name
Nome utente del server flessibile MySQL. --secret
Password del server flessibile MySQL. Nota
Se viene visualizzato il messaggio di errore "La sottoscrizione non è registrata per l'uso di Microsoft.ServiceLinker", eseguire
az provider register -n Microsoft.ServiceLinker
per registrare il provider di risorse di Connettore di servizi ed eseguire di nuovo il comando di connessione.Clonare il codice di esempio
git clone https://github.com/Azure-Samples/serviceconnector-springcloud-mysql-springboot.git
Compilare il progetto tramite Maven.
cd serviceconnector-springcloud-mysql-springboot mvn clean package -DskipTests
Distribuire il file JAR per l'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
Eseguire query sullo stato dell'app dopo la distribuzione con il comando seguente.
az spring app list --resource-group ServiceConnector-tutorial-mysqlf --service my-azure-spring --output table
Verrà visualizzato l'output seguente:
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 - -
Passaggi successivi
Per altre informazioni sul connettore di servizi seguire le esercitazioni riportate di seguito.