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

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.

  1. Aggiornare l'interfaccia della riga di comando di Azure con l'estensione Azure Spring Apps.

    az extension update --name spring
    
  2. 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>
    
  3. 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
    
  4. 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

  1. 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
    
  2. 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.

  3. Clonare il codice di esempio

    git clone https://github.com/Azure-Samples/serviceconnector-springcloud-mysql-springboot.git
    
  4. Compilare il progetto tramite Maven.

    cd serviceconnector-springcloud-mysql-springboot
    mvn clean package -DskipTests 
    
  5. 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
    
  6. 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.