Esercitazione: Distribuire un'applicazione in Azure Spring Apps e connetterla a Database di Azure per MySQL server flessibile usando Service Connector

In questa esercitazione verranno completate le attività seguenti usando l'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
  • Creare e distribuire app in Azure Spring Apps
  • Integrare Azure Spring Apps con Database di Azure per MySQL con Service Connector

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 la 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 essere compreso tra 4 e 32 caratteri lunghi 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> in base alle credenziali desiderate 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 da tre delle categorie seguenti: lettere maiuscole in inglese, 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 vengano ignorati manualmente:

Impostazione Valore predefinito Descrizione
server-name Generata 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 breve. L'impostazione predefinita è un server per utilizzo generico di quinta generazione con 2 vCore. Per altre informazioni sui prezzi, passare alla pagina dei prezzi.
backup-retention 7 Specifica per quanto tempo deve essere conservato un backup. L'unità è giorni.
geo-redundant-backup Disabled Indica se abilitare i backup con ridondanza geografica per questo server.
posizione westus2 Località di Azure per il server.
ssl-enforcement Attivato Indica se abilitare SSL per questo server.
storage-size 5120 Capacità di archiviazione del server (l'unità è MB).
version 5.7 La versione principale di MySQL.

Nota

Standard_B1ms SKU viene usato per impostazione predefinita. Per informazioni dettagliate sui prezzi, vedere Database di Azure per MySQL prezzi.

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 Java versione 11 durante la generazione del progetto 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 az spring connection create comando per connettere l'applicazione distribuita ad 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 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 si vuole 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 per registrare il provider di risorse di Service Connector ed eseguire az provider register -n Microsoft.ServiceLinker 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 usando 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

Seguire le esercitazioni elencate di seguito per altre informazioni su Service Connector.