Guida introduttiva: Distribuire la prima applicazione Web in Azure Spring Apps
Articolo
Nota
I piani Basic, Standard ed Enterprise saranno deprecati a partire dalla metà di marzo 2025, con un periodo di ritiro di 3 anni. È consigliabile eseguire la transizione ad App Azure Container. Per altre informazioni, vedere l'annuncio di ritiro di Azure Spring Apps.
Questa guida introduttiva illustra come distribuire un'applicazione Web Spring Boot in Azure Spring Apps. Il progetto di esempio è una semplice applicazione ToDo per aggiungere attività, contrassegnare al termine e quindi eliminarle. Lo screenshot seguente mostra l'applicazione:
Questa applicazione è una tipica applicazione Web a tre livelli con i livelli seguenti:
Applicazione Web Spring back-end che usa Spring Data JPA per accedere a un database relazionale.
Un database relazionale. Per localhost, l'applicazione usa motore di database H2. Per Azure Spring Apps, l'applicazione usa Database di Azure per PostgreSQL. Per altre informazioni sulle Database di Azure per PostgreSQL, vedere la documentazione relativa al server flessibile.
Il diagramma seguente illustra l'architettura del sistema:
Questo articolo offre le opzioni seguenti per la distribuzione in Azure Spring Apps:
L'opzione portale di Azure è il modo più semplice e rapido per creare risorse e distribuire applicazioni con un solo clic. Questa opzione è adatta agli sviluppatori Spring che vogliono distribuire rapidamente le applicazioni nei servizi cloud di Azure.
L'opzione plug-in portale di Azure + Maven offre un modo più convenzionale per creare risorse e distribuire le applicazioni in modo dettagliato. Questa opzione è adatta agli sviluppatori Spring che usano i servizi cloud di Azure per la prima volta.
L'opzione dell'interfaccia della riga di comando per sviluppatori di Azure è un modo più efficiente per creare automaticamente le risorse e distribuire le applicazioni tramite semplici comandi. L'interfaccia della riga di comando per sviluppatori di Azure usa un modello per effettuare il provisioning delle risorse di Azure necessarie e per distribuire il codice dell'applicazione. Questa opzione è adatta agli sviluppatori Spring che hanno familiarità con i servizi cloud di Azure.
Questo articolo offre le opzioni seguenti per la distribuzione in Azure Spring Apps:
L'opzione portale di Azure è il modo più semplice e rapido per creare risorse e distribuire applicazioni con un solo clic. Questa opzione è adatta agli sviluppatori Spring che vogliono distribuire rapidamente le applicazioni nei servizi cloud di Azure.
L'opzione plug-in portale di Azure + Maven offre un modo più convenzionale per creare risorse e distribuire le applicazioni in modo dettagliato. Questa opzione è adatta agli sviluppatori Spring che usano i servizi cloud di Azure per la prima volta.
L'opzione dell'interfaccia della riga di comando di Azure usa un potente strumento da riga di comando per gestire le risorse di Azure. Questa opzione è adatta agli sviluppatori Spring che hanno familiarità con i servizi cloud di Azure.
Interfaccia della riga di comando di Azure versione 2.45.0 o successive. Usare il comando seguente per installare l'estensione Azure Spring Apps: az extension add --name spring
Se viene distribuita un'istanza del piano Enterprise di Azure Spring Apps per la prima volta nella sottoscrizione di destinazione, vedere la sezione Requisiti del Piano Enterprise in Azure Marketplace.
Il pulsante Deploy to Azure (Distribuisci in Azure) nella sezione successiva avvia un'esperienza di portale di Azure che scarica un pacchetto JAR dalla pagina ASA-Samples-Web-Application release (Versioni di ASA-Samples-Web-Application) in GitHub. Non sono necessari passaggi di preparazione locali.
Anche se si usa il portale di Azure nei passaggi successivi, è necessario usare la riga di comando Bash per preparare il progetto in locale. Usare la procedura seguente per clonare ed eseguire l'app in locale:
Usare il comando seguente per clonare il progetto di esempio da GitHub:
Usare il comando seguente per compilare il progetto di esempio con Maven:
cd ASA-Samples-Web-Application
./mvnw clean package
Usare il comando seguente per eseguire l'applicazione di esempio:
java -jar web/target/simple-todo-web.jar
Passare a http://localhost:8080 nel browser per accedere all'applicazione.
3. Preparare l'ambiente cloud
Le risorse principali necessarie per eseguire questo esempio sono un'istanza di Azure Spring Apps e un'istanza di Database di Azure per PostgreSQL. Questa sezione illustra i passaggi per creare queste risorse.
Questa sezione usa un pulsante Distribuisci in Azure per avviare un'esperienza di distribuzione nella portale di Azure. Questa esperienza usa un modello di Resource Manager per creare risorse di Azure.
3.1. Accedere al portale di Azure
Passare al portale di Azure e immettere le credenziali per accedere al portale. La visualizzazione predefinita è il dashboard del servizio.
3.2. Creazione di risorse Azure
Usare la procedura seguente per creare tutte le risorse di Azure da cui dipende l'app:
Selezionare il pulsante Distribuisci in Azure seguente per avviare l'esperienza di distribuzione nel portale di Azure:
Compilare il modulo nella scheda Informazioni di base . Utilizzare la tabella seguente come guida per completare il modulo:
Impostazione
Valore suggerito
Descrizione
Abbonamento
Nome della sottoscrizione.
Sottoscrizione di Azure da usare per il server. Se si hanno più sottoscrizioni, scegliere quella in cui si desidera che venga fatturata la risorsa.
Gruppo di risorse
myresourcegroup
Nuovo nome di gruppo di risorse o uno esistente nella sottoscrizione.
Area
Area più vicina agli utenti.
L'area viene usata per creare il gruppo di risorse.
Password amministratore postgre SQL
N/D
Password per l'amministratore del server PostgreSQL.
Password utente Postgre SQL
N/D
Password per l'utente dell'applicazione PostgreSQL, che viene usata nell'applicazione.
Selezionare Rivedi e crea per rivedere le selezioni. Selezionare quindi Crea per distribuire l'app in Azure Spring Apps.
Sulla barra degli strumenti selezionare l'icona Notifiche a forma di campana per monitorare il processo di distribuzione. Al termine della distribuzione, è possibile selezionare Aggiungi al dashboard, che crea un riquadro per questo servizio nel dashboard portale di Azure come collegamento alla pagina Panoramica del servizio. Selezionare Vai alla risorsa per aprire la pagina Panoramica del servizio.
3.1. Accedere al portale di Azure
Passare al portale di Azure, immettere le credenziali e accedere al portale. La visualizzazione predefinita è il dashboard del servizio.
3.2. Creare un'istanza di Azure Spring Apps
Per creare l'istanza del servizio, seguire questa procedura:
Selezionare Crea una risorsa nell'angolo del portale di Azure.
Selezionare Calcolo di>Azure Spring Apps.
Compilare il modulo Informazioni di base con le informazioni seguenti:
Impostazione
Valore suggerito
Descrizione
Abbonamento
Nome della sottoscrizione.
Sottoscrizione di Azure da usare per il server. Se si hanno più sottoscrizioni, scegliere quella in cui si desidera che venga fatturata la risorsa.
Gruppo di risorse
myresourcegroup
Nuovo nome di gruppo di risorse o uno esistente nella sottoscrizione.
Nome
myasa
Nome univoco che identifica il servizio Azure Spring Apps. Il nome deve essere composto da 4-32 caratteri e può contenere solo lettere in minuscolo, numeri e trattini. Il primo carattere del nome del servizio deve essere una lettera e l'ultimo deve essere una lettera o un numero.
Piano
Funzionalità per le aziende
Piano tariffario che determina la risorsa e il costo associati all'istanza.
Area
Area più vicina agli utenti.
Località più vicina agli utenti.
Ridondanza della zona
opzione non selezionata
Opzione per creare il servizio Azure Spring Apps in una zona di disponibilità di Azure. Questa funzionalità non è attualmente supportata in tutte le aree.
Piano IP software
Pagamento in base al consumo
Pagamento in base al consumo con Azure Spring Apps.
Terms
Selected
Casella di controllo del contratto associata all'offerta marketplace. È necessario selezionare questa casella di controllo.
Distribuire un progetto di esempio
opzione non selezionata
Opzione per usare l'applicazione di esempio predefinita.
Selezionare Rivedi e crea per rivedere le selezioni. Selezionare quindi Crea per effettuare il provisioning dell'istanza di Azure Spring Apps.
Sulla barra degli strumenti selezionare l'icona Notifiche a forma di campana per monitorare il processo di distribuzione. Al termine della distribuzione, è possibile selezionare Aggiungi al dashboard, che crea un riquadro per questo servizio nel dashboard portale di Azure come collegamento alla pagina Panoramica del servizio.
Selezionare Vai alla risorsa per passare alla pagina Panoramica di Azure Spring Apps.
3.3. Preparare l'istanza di PostgreSQL
Usare la procedura seguente per creare un server Database di Azure per PostgreSQL:
Nel portale di Azure selezionare Crea una risorsa.
Selezionare Database> Database di Azure per PostgreSQL Server flessibile.
Compilare la scheda Informazioni di base con le informazioni seguenti:
Nome server: my-demo-pgsql
Area: Stati Uniti orientali
Versione di PostgreSQL: 14
Tipo di carico di lavoro: Sviluppo
Abilitare la disponibilità elevata: deselezionata
Metodo di autenticazione: solo autenticazione PostgreSQL
Nome utente amministratore: myadmin
Password e Conferma password: immettere una password.
Configurare la scheda Rete usando le informazioni seguenti:
Metodo di connettività: accesso pubblico (indirizzi IP consentiti)
Consenti l'accesso pubblico da qualsiasi servizio di Azure in Azure a questo server: selezionato
Selezionare Rivedi e crea per esaminare le selezioni e quindi selezionare Crea per effettuare il provisioning del server. L'operazione potrebbe richiedere alcuni minuti.
Passare al server PostgreSQL nel portale di Azure.
Selezionare Database dal menu di spostamento per creare un database, ad esempio Todo.
3.4. Connettere l'istanza dell'app all'istanza di PostgreSQL
Usare la procedura seguente per connettere le istanze del servizio:
Passare all'istanza di Azure Spring Apps nel portale di Azure.
Nel riquadro di spostamento aprire App e quindi selezionare Crea app.
Nella pagina Crea app usare simple-todo-web per il nome dell'app e lasciare tutti gli altri campi con i valori predefiniti.
Selezionare Crea per completare la creazione dell'app e quindi selezionare l'app per visualizzare i dettagli.
Selezionare Service Connector nel riquadro di spostamento e quindi selezionare Crea per creare una nuova connessione al servizio.
Compilare la scheda Informazioni di base con le informazioni seguenti:
Tipo di servizio: server flessibile db per PostgreSQL
Nome connessione: popolato con un nome generato automaticamente che è possibile modificare.
Sottoscrizione: selezionare la propria sottoscrizione.
Server flessibile PostgreSQL: my-demo-pgsql
Database PostgreSQL: selezionare il database creato.
Tipo di client: SpringBoot
Configurare la scheda Avanti: Autenticazione con le informazioni seguenti:
Selezionare il tipo di autenticazione che si vuole usare tra il servizio di calcolo e il servizio di destinazione. Selezionare Stringa di connessione.
Specificando 0.0.0.0 consente l'accesso pubblico da qualsiasi risorsa distribuita in Azure per accedere al server.
3.5. Connettere l'istanza dell'app all'istanza di PostgreSQL
Dopo aver creato l'istanza dell'applicazione e l'istanza di PostgreSQL, l'istanza dell'applicazione non può accedere direttamente all'istanza di PostgreSQL. Usare la procedura seguente per consentire all'app di connettersi all'istanza di PostgreSQL.
Usare il comando seguente per ottenere il nome di dominio completo dell'istanza di PostgreSQL:
Il pulsante Distribuisci in Azure nella sezione precedente avvia un'esperienza di portale di Azure che include la distribuzione dell'applicazione, quindi non è necessario altro.
L'elenco seguente descrive le interazioni con i comandi:
Selezionare moduli figlio da configurare: selezionare il modulo da configurare, quindi immettere il numero del modulo Web SimpleTodo.
Accesso OAuth2: è necessario autorizzare l'accesso ad Azure in base al protocollo OAuth2.
Selezionare la sottoscrizione: selezionare il numero di elenco di sottoscrizioni dell'istanza di Azure Spring Apps creata, che per impostazione predefinita corrisponde alla prima sottoscrizione nell'elenco. Se si usa il numero predefinito, premere INVIO direttamente.
Usare le app Spring di Azure esistenti in Azure: premere y per usare l'istanza di Azure Spring Apps esistente.
Selezionare App Spring di Azure per la distribuzione: selezionare il numero dell'istanza di Azure Spring Apps creata. Se si usa il numero predefinito, premere INVIO direttamente.
Esporre l'accesso pubblico per questa app: premere y.
Confermare di salvare tutte le configurazioni precedenti: premere y. Se si preme n, la configurazione non viene salvata nei file POM.
Usare il comando seguente per distribuire l'app:
./mvnw azure-spring-apps:deploy
L'elenco seguente descrive l'interazione con il comando:
Accesso OAuth2: è necessario autorizzare l'accesso ad Azure in base al protocollo OAuth2.
Dopo l'esecuzione del comando, è possibile visualizzare i messaggi di log seguenti che la distribuzione ha avuto esito positivo:
[INFO] Deployment Status: Running
[INFO] InstanceName:simple-todo-web-default-15-xxxxxxxxx-xxxxx Status:Running Reason:null DiscoverStatus:N/A
[INFO] Getting public url of app(simple-todo-web)...
[INFO] Application url: https://<your-Azure-Spring-Apps-instance-name>-simple-todo-web.azuremicroservices.io
L'URL dell'applicazione di output è l'endpoint per accedere all'applicazionetodo.
Dopo aver preparato l'ambiente cloud, l'applicazione è pronta per la distribuzione. Usare il comando seguente per distribuire l'app:
az spring app deploy \
--service ${AZURE_SPRING_APPS_NAME} \
--name ${APP_NAME} \
--artifact-path web/target/simple-todo-web.jar
Il pulsante Deploy to Azure (Distribuisci in Azure) nella sezione successiva avvia un'esperienza di portale di Azure che scarica un pacchetto JAR dalla pagina ASA-Samples-Web-Application release (Versioni di ASA-Samples-Web-Application) in GitHub. Non sono necessari passaggi di preparazione locali.
Anche se si usa il portale di Azure nei passaggi successivi, è necessario usare la riga di comando Bash per preparare il progetto in locale. Usare la procedura seguente per clonare ed eseguire l'app in locale:
Usare il comando seguente per clonare il progetto di esempio da GitHub:
L'elenco seguente descrive l'interazione con il comando:
Immettere un nuovo nome di ambiente: specificare un nome di ambiente, che viene usato come suffisso per il gruppo di risorse creato per contenere tutte le risorse di Azure. Questo nome deve essere univoco all'interno della sottoscrizione di Azure.
La console restituisce messaggi simili all'esempio seguente:
Initializing a new project (azd init)
(✓) Done: Initialized git repository
(✓) Done: Downloading template code to: <your-local-path>
Enter a new environment name: <your-env-name>
SUCCESS: New project initialized!
You can view the template code in your directory: <your-local-path>
Learn more about running 3rd party code on our DevHub: https://aka.ms/azd-third-party-code-notice
3. Preparare l'ambiente cloud
Le risorse principali necessarie per eseguire questo esempio sono un'istanza di Azure Spring Apps e un'istanza di Database di Azure per PostgreSQL. Questa sezione illustra i passaggi per creare queste risorse.
Questa sezione usa un pulsante Distribuisci in Azure per avviare un'esperienza di distribuzione nella portale di Azure. Questa esperienza usa un modello di Resource Manager per creare risorse di Azure.
3.1. Accedere al portale di Azure
Passare al portale di Azure e immettere le credenziali per accedere al portale. La visualizzazione predefinita è il dashboard del servizio.
3.2. Creazione di risorse Azure
Usare la procedura seguente per creare tutte le risorse di Azure da cui dipende l'app:
Selezionare il pulsante Distribuisci in Azure seguente per avviare l'esperienza di distribuzione nel portale di Azure:
Compilare il modulo nella scheda Informazioni di base . Utilizzare la tabella seguente come guida per completare il modulo:
Impostazione
Valore suggerito
Descrizione
Abbonamento
Nome della sottoscrizione.
Sottoscrizione di Azure da usare per il server. Se si hanno più sottoscrizioni, scegliere quella in cui si desidera che venga fatturata la risorsa.
Gruppo di risorse
myresourcegroup
Nuovo nome di gruppo di risorse o uno esistente nella sottoscrizione.
Area
Area più vicina agli utenti.
L'area viene usata per creare il gruppo di risorse.
Password amministratore postgreSQL
N/D
Password per l'amministratore del server PostgreSQL.
Password utente postgreSQL
N/D
Password per l'utente dell'applicazione PostgreSQL, che viene usata nell'applicazione.
Selezionare Rivedi e crea per rivedere le selezioni. Selezionare quindi Crea per distribuire l'app in Azure Spring Apps.
Sulla barra degli strumenti selezionare l'icona Notifiche a forma di campana per monitorare il processo di distribuzione. Al termine della distribuzione, è possibile selezionare Aggiungi al dashboard, che crea un riquadro per questo servizio nel dashboard portale di Azure come collegamento alla pagina Panoramica del servizio. Selezionare Vai alla risorsa per aprire la pagina Panoramica del servizio.
Usare la procedura seguente per creare un'istanza di Azure Spring Apps e un'istanza di Database di Azure per PostgreSQL:
3.1. Accedere al portale di Azure
Passare al portale di Azure, immettere le credenziali e accedere al portale. La visualizzazione predefinita è il dashboard del servizio.
3.2. Creare un'istanza di Azure Spring Apps
Per creare un'istanza del servizio, seguire questa procedura:
Selezionare Crea una risorsa nell'angolo del portale.
Selezionare Calcolo di>Azure Spring Apps.
Compilare il modulo nella scheda Informazioni di base . Utilizzare la tabella seguente come guida per completare il modulo:
Impostazione
Valore suggerito
Descrizione
Abbonamento
Nome della sottoscrizione.
Sottoscrizione di Azure da usare per il server. Se si hanno più sottoscrizioni, scegliere quella in cui si desidera che venga fatturata la risorsa.
Gruppo di risorse
myresourcegroup
Nuovo nome di gruppo di risorse o uno esistente nella sottoscrizione.
Nome
myasa
Nome univoco che identifica il servizio Azure Spring Apps. Il nome deve essere composto da 4-32 caratteri e può contenere solo lettere in minuscolo, numeri e trattini. Il primo carattere del nome del servizio deve essere una lettera e l'ultimo deve essere una lettera o un numero.
Piano
Consumo standard e dedicato (anteprima)
Il piano tariffario determina la risorsa e il costo associati all'istanza.
Area
Area più vicina agli utenti.
Località più vicina agli utenti.
Ambiente app contenitore
myacaenv
L'ambiente è un limite sicuro intorno a una o più app contenitore che possono comunicare tra loro e condividere una rete virtuale, la registrazione e la configurazione dapr.
(Facoltativo) Compilare la scheda Informazioni di base con le informazioni seguenti per creare l'ambiente app contenitore:
Nome ambiente: myacaenv
Piano: Consumo
Ridondanza della zona: disabilitata
Selezionare quindi Crea per creare l'ambiente di app contenitore.
Selezionare Rivedi e crea per rivedere le selezioni. Selezionare quindi Crea per effettuare il provisioning dell'istanza di Azure Spring Apps.
Sulla barra degli strumenti selezionare l'icona Notifiche a forma di campana per monitorare il processo di distribuzione. Al termine della distribuzione, è possibile selezionare Aggiungi al dashboard, che crea un riquadro per questo servizio nel dashboard portale di Azure come collegamento alla pagina Panoramica del servizio. Selezionare Vai alla risorsa per aprire la pagina Panoramica del servizio.
3.3. Preparare l'istanza di PostgreSQL
Usare la procedura seguente per creare un server Database di Azure per PostgreSQL:
Nel portale di Azure selezionare Crea una risorsa.
Selezionare Database> Database di Azure per PostgreSQL Server flessibile.
Compilare la scheda Informazioni di base con le informazioni seguenti:
Nome server: my-demo-pgsql
Area: Stati Uniti orientali
Versione di PostgreSQL: 14
Tipo di carico di lavoro: Sviluppo
Abilitare la disponibilità elevata: deselezionata
Metodo di autenticazione: solo autenticazione PostgreSQL
Nome utente amministratore: myadmin
Password e Conferma password: immettere una password.
Configurare la scheda Rete usando le informazioni seguenti:
Metodo di connettività: accesso pubblico (indirizzi IP consentiti)
Consenti l'accesso pubblico da qualsiasi servizio di Azure in Azure a questo server: selezionato
Selezionare Rivedi e crea per esaminare le selezioni e quindi selezionare Crea per effettuare il provisioning del server. L'operazione potrebbe richiedere alcuni minuti.
Passare al server PostgreSQL nel portale di Azure.
Selezionare Database dal menu di spostamento per creare un database, ad esempio Todo.
3.4. Connettere l'istanza dell'app all'istanza di PostgreSQL
Usare la procedura seguente per connettere le istanze del servizio:
Passare all'istanza di Azure Spring Apps nel portale di Azure.
Nel riquadro di spostamento aprire App e quindi selezionare Crea app.
Nella pagina Crea app usare simple-todo-web per il nome dell'app e quindi selezionare Usa app di esempio di avvio rapido per creare l'app.
Selezionare Crea per completare la creazione dell'app e quindi selezionare l'app per visualizzarne i dettagli.
Selezionare Configurazione nel riquadro di spostamento e quindi configurare le proprietà seguenti nella scheda Variabili di ambiente:
SPRING_DATASOURCE_PASSWORD: immettere la password.
Selezionare Salva per salvare le proprietà di connessione.
Usare la procedura seguente per creare un'istanza di Azure Spring Apps e un'istanza di Database di Azure per PostgreSQL:
Usare il comando seguente per accedere ad Azure con OAuth2. Ignorare questo passaggio se è già stato eseguito l'accesso.
azd auth login
La console restituisce messaggi simili all'esempio seguente:
Logged in to Azure.
Usare il comando seguente per effettuare il provisioning dell'infrastruttura del modello in Azure:
azd provision
L'elenco seguente descrive le interazioni con i comandi:
Selezionare una sottoscrizione di Azure da usare: usare le frecce per spostare, digitare per filtrare e quindi premere INVIO.
Selezionare un percorso di Azure da usare: usare le frecce per spostare, digitare per filtrare e quindi premere INVIO.
La console restituisce messaggi simili all'esempio seguente:
SUCCESS: Your application was provisioned in Azure in xx minutes xx seconds.
You can view the resources created under the resource group rg-<your-environment-name> in Azure Portal:
https://portal.azure.com/#@/resource/subscriptions/<your-subscription-id>/resourceGroups/rg-<your-environment-name>/overview
Nota
Il completamento di questo comando può richiedere alcuni minuti. Viene visualizzato un indicatore di stato durante il provisioning delle risorse di Azure.
Il pulsante Distribuisci in Azure nella sezione precedente avvia un'esperienza di portale di Azure che include la distribuzione dell'applicazione, quindi non è necessario altro.
L'elenco seguente descrive le interazioni con i comandi:
Selezionare moduli figlio da configurare: selezionare il modulo da configurare, quindi immettere il numero del modulo Web SimpleTodo.
Accesso OAuth2: è necessario autorizzare l'accesso ad Azure in base al protocollo OAuth2.
Selezionare la sottoscrizione: selezionare il numero di elenco di sottoscrizioni dell'istanza di Azure Spring Apps creata, che per impostazione predefinita corrisponde alla prima sottoscrizione nell'elenco. Se si usa il numero predefinito, premere INVIO direttamente.
Usare le app Spring di Azure esistenti in Azure: premere y per usare l'istanza di Azure Spring Apps esistente.
Selezionare App Spring di Azure per la distribuzione: selezionare il numero dell'istanza di Azure Spring Apps creata. Se si usa il numero predefinito, premere INVIO direttamente.
Esporre l'accesso pubblico per questa app: premere y.
Confermare di salvare tutte le configurazioni precedenti: premere y. Se si preme n, la configurazione non viene salvata nei file POM.
Usare il comando seguente per distribuire l'app:
./mvnw azure-spring-apps:deploy
L'elenco seguente descrive l'interazione con il comando:
Accesso OAuth2: è necessario autorizzare l'accesso ad Azure in base al protocollo OAuth2.
Dopo l'esecuzione del comando, è possibile visualizzare i messaggi di log seguenti che la distribuzione ha avuto esito positivo:
[INFO] Start updating app(simple-todo-web)...
[INFO] App(simple-todo-web) is successfully updated.
[INFO] Starting Spring App after deploying artifacts...
[INFO] Deployment Status: Running
[INFO] InstanceName:simple-todo-web--default-xxxxxxx-xxxxxxxxx-xxxxx Status:Running Reason:null DiscoverStatus:NONE
[INFO] Getting public url of app(simple-todo-web)...
[INFO] Application url: https://simple-todo-web.<unique-identifier>.<region-name>.azurecontainerapps.io
L'URL dell'applicazione di output è l'endpoint per accedere all'applicazionetodo.
È ora possibile distribuire l'app in App Spring di Azure. Usare la procedura seguente per creare un pacchetto dell'app, effettuare il provisioning delle risorse di Azure richieste dall'applicazione Web e quindi eseguire la distribuzione in Azure Spring Apps:
Usare il comando seguente per creare un pacchetto di una copia distribuibile dell'applicazione:
azd package
La console restituisce messaggi simili all'esempio seguente:
SUCCESS: Your application was packaged for Azure in xx seconds.
Usare il comando seguente per distribuire il codice dell'applicazione in tali risorse di cui è stato appena effettuato il provisioning:
azd deploy
La console restituisce messaggi simili all'esempio seguente:
Deploying services (azd deploy)
(✓) Done: Deploying service simple-todo-web
- Endpoint: https://simple-todo-web.xxx.<your-azure-location>.azurecontainerapps.io
SUCCESS: Your application was deployed to Azure in xx minutes xx seconds.
You can view the resources created under the resource group rg-<your-environment-name> in Azure Portal:
https://portal.azure.com/#@/resource/subscriptions/<your-subscription-id>/resourceGroups/rg-<your-environment-name>/overview
L'endpoint di output è l'endpoint per accedere all'applicazionetodo.
Nota
È anche possibile usare azd up per combinare i tre comandi precedenti: azd provision (effettua il provisioning delle risorse di Azure), azd package (crea un pacchetto di una copia distribuibile dell'applicazione) e azd deploy (distribuisce il codice dell'applicazione). Per altre informazioni, vedere Azure-Samples/ASA-Samples-Web-Application.
Il pulsante Deploy to Azure (Distribuisci in Azure) nella sezione successiva avvia un'esperienza di portale di Azure che scarica un pacchetto JAR dalla pagina ASA-Samples-Web-Application release (Versioni di ASA-Samples-Web-Application) in GitHub. Non sono necessari passaggi di preparazione locali.
Anche se si usa il portale di Azure nei passaggi successivi, è necessario usare la riga di comando Bash per preparare il progetto in locale. Usare la procedura seguente per clonare ed eseguire l'app in locale:
Usare il comando seguente per clonare il progetto di esempio da GitHub:
L'elenco seguente descrive l'interazione con il comando:
Immettere un nuovo nome di ambiente: specificare un nome di ambiente, che viene usato come suffisso per il gruppo di risorse creato per contenere tutte le risorse di Azure. Questo nome deve essere univoco all'interno della sottoscrizione di Azure.
La console restituisce messaggi simili all'esempio seguente:
Initializing a new project (azd init)
(✓) Done: Initialized git repository
(✓) Done: Downloading template code to: <your-local-path>
Please enter a new environment name: <your-env-name>
SUCCESS: New project initialized!
You can view the template code in your directory: <your-local-path>
Learn more about running 3rd party code on our DevHub: https://aka.ms/azd-third-party-code-notice
3. Preparare l'ambiente cloud
Le risorse principali necessarie per eseguire questo esempio sono un'istanza di Azure Spring Apps e un'istanza di Database di Azure per PostgreSQL. Questa sezione illustra i passaggi per creare queste risorse.
Questa sezione usa un pulsante Distribuisci in Azure per avviare un'esperienza di distribuzione nella portale di Azure. Questa esperienza usa un modello di Resource Manager per creare risorse di Azure.
3.1. Accedere al portale di Azure
Passare al portale di Azure e immettere le credenziali per accedere al portale. La visualizzazione predefinita è il dashboard del servizio.
3.2. Creazione di risorse Azure
Usare la procedura seguente per creare tutte le risorse di Azure da cui dipende l'app:
Selezionare il pulsante Distribuisci in Azure seguente per avviare l'esperienza di distribuzione nel portale di Azure:
Compilare il modulo nella scheda Informazioni di base . Utilizzare la tabella seguente come guida per completare il modulo:
Impostazione
Valore suggerito
Descrizione
Abbonamento
Nome della sottoscrizione.
Sottoscrizione di Azure da usare per il server. Se si hanno più sottoscrizioni, scegliere quella in cui si desidera che venga fatturata la risorsa.
Gruppo di risorse
myresourcegroup
Nuovo nome di gruppo di risorse o uno esistente nella sottoscrizione.
Area
Area più vicina agli utenti.
L'area viene usata per creare il gruppo di risorse.
Password amministratore postgre SQL
N/D
Password per l'amministratore del server PostgreSQL.
Password utente Postgre SQL
N/D
Password per l'utente dell'applicazione PostgreSQL, che viene usata nell'applicazione.
Selezionare Rivedi e crea per rivedere le selezioni. Selezionare quindi Crea per distribuire l'app in Azure Spring Apps.
Sulla barra degli strumenti selezionare l'icona Notifiche a forma di campana per monitorare il processo di distribuzione. Al termine della distribuzione, è possibile selezionare Aggiungi al dashboard, che crea un riquadro per questo servizio nel dashboard portale di Azure come collegamento alla pagina Panoramica del servizio. Selezionare Vai alla risorsa per aprire la pagina Panoramica del servizio.
Usare la procedura seguente per creare un'istanza di Azure Spring Apps e un'istanza di Database di Azure per PostgreSQL:
3.1. Accedere al portale di Azure
Passare al portale di Azure e immettere le credenziali per accedere al portale. La visualizzazione predefinita è il dashboard del servizio.
3.2. Creare un'istanza di Azure Spring Apps
Per creare un'istanza del servizio, seguire questa procedura:
Selezionare Crea una risorsa nell'angolo del portale.
Selezionare Calcolo di>Azure Spring Apps.
Compilare il modulo nella scheda Informazioni di base . Utilizzare la tabella seguente come guida per completare il modulo:
Impostazione
Valore suggerito
Descrizione
Abbonamento
Nome della sottoscrizione.
Sottoscrizione di Azure da usare per il server. Se si hanno più sottoscrizioni, scegliere quella in cui si desidera che venga fatturata la risorsa.
Gruppo di risorse
myresourcegroup
Nuovo nome di gruppo di risorse o uno esistente nella sottoscrizione.
Nome
myasa
Nome univoco che identifica il servizio Azure Spring Apps. Il nome deve essere composto da 4-32 caratteri e può contenere solo lettere in minuscolo, numeri e trattini. Il primo carattere del nome del servizio deve essere una lettera e l'ultimo deve essere una lettera o un numero.
Piano
Base
Il piano tariffario determina la risorsa e il costo associati all'istanza.
Area
Area più vicina agli utenti.
Località più vicina agli utenti.
Ridondanza della zona
opzione non selezionata
Se creare il servizio Azure Spring Apps in una zona di disponibilità di Azure. Attualmente, questa funzionalità è supportata solo in alcune aree.
Selezionare Rivedi e crea per rivedere le selezioni. Selezionare quindi Crea per effettuare il provisioning dell'istanza di Azure Spring Apps.
Sulla barra degli strumenti selezionare l'icona Notifiche a forma di campana per monitorare il processo di distribuzione. Al termine della distribuzione, è possibile selezionare Aggiungi al dashboard, che crea un riquadro per questo servizio nel dashboard portale di Azure come collegamento alla pagina Panoramica del servizio. Selezionare Vai alla risorsa per aprire la pagina Panoramica del servizio.
3.3. Preparare l'istanza di PostgreSQL
Usare la procedura seguente per creare un server Database di Azure per PostgreSQL:
Nel portale di Azure selezionare Crea una risorsa.
Selezionare Database> Database di Azure per PostgreSQL Server flessibile.
Compilare la scheda Informazioni di base con le informazioni seguenti:
Nome server: my-demo-pgsql
Area: Stati Uniti orientali
Versione di PostgreSQL: 14
Tipo di carico di lavoro: Sviluppo
Abilitare la disponibilità elevata: deselezionata
Metodo di autenticazione: solo autenticazione PostgreSQL
Nome utente amministratore: myadmin
Password e Conferma password: immettere una password.
Configurare la scheda Rete usando le informazioni seguenti:
Metodo di connettività: accesso pubblico (indirizzi IP consentiti)
Consenti l'accesso pubblico da qualsiasi servizio di Azure in Azure a questo server: selezionato
Selezionare Rivedi e crea per esaminare le selezioni e quindi selezionare Crea per effettuare il provisioning del server. L'operazione potrebbe richiedere alcuni minuti.
Passare al server PostgreSQL nel portale di Azure.
Selezionare Database dal menu di spostamento per creare un database, ad esempio Todo.
3.4. Connettere l'istanza dell'app all'istanza di PostgreSQL
Usare la procedura seguente per connettere le istanze del servizio:
Passare all'istanza di Azure Spring Apps nel portale di Azure.
Nel riquadro di spostamento aprire il riquadro App e selezionare Crea app.
Nella pagina Crea app, per il nome dell'app, usare simple-todo-web e per la piattaforma di runtime selezionare Java 17.
Selezionare Crea per completare la creazione dell'app e selezionare l'app per visualizzare i dettagli.
Selezionare Service Connector nel riquadro di spostamento e quindi selezionare Crea per creare una nuova connessione al servizio.
Compilare la scheda Informazioni di base con le informazioni seguenti:
Tipo di servizio: server flessibile db per PostgreSQL
Nome connessione: popolato con un nome generato automaticamente che è possibile modificare.
Sottoscrizione: selezionare la propria sottoscrizione.
Server flessibile PostgreSQL: my-demo-pgsql
Database PostgreSQL: selezionare il database creato.
Tipo di client: SpringBoot
Configurare la scheda Avanti: Autenticazione con le informazioni seguenti:
Selezionare il tipo di autenticazione che si vuole usare tra il servizio di calcolo e il servizio di destinazione. Selezionare Stringa di connessione.
Selezionare Avanti: Rete. Usare l'opzione predefinita Configura regole del firewall per abilitare l'accesso al servizio di destinazione.
Selezionare Avanti: Rivedi e crea per esaminare le selezioni e quindi selezionare Crea per creare la connessione.
Usare la procedura seguente per creare un'istanza di Azure Spring Apps e un'istanza di Database di Azure per PostgreSQL:
Usare il comando seguente per accedere ad Azure con OAuth2. Ignorare questo passaggio se è già stato eseguito l'accesso.
azd auth login
La console restituisce messaggi simili all'esempio seguente:
Logged in to Azure.
Usare il comando seguente per impostare il modello con il piano standard :
azd env set PLAN standard
Usare il comando seguente per effettuare il provisioning dell'infrastruttura del modello in Azure:
azd provision
L'elenco seguente descrive le interazioni con i comandi:
Selezionare una sottoscrizione di Azure da usare: usare le frecce per spostare, digitare per filtrare e quindi premere INVIO.
Selezionare un percorso di Azure da usare: usare le frecce per spostare, digitare per filtrare e quindi premere INVIO.
La console restituisce messaggi simili all'esempio seguente:
SUCCESS: Your application was provisioned in Azure in xx minutes xx seconds.
You can view the resources created under the resource group rg-<your-environment-name> in Azure Portal:
https://portal.azure.com/#@/resource/subscriptions/<your-subscription-id>/resourceGroups/rg-<your-environment-name>/overview
Nota
Il completamento di questo comando può richiedere alcuni minuti. Viene visualizzato un indicatore di stato durante il provisioning delle risorse di Azure.
Il pulsante Distribuisci in Azure nella sezione precedente avvia un'esperienza di portale di Azure che include la distribuzione dell'applicazione, quindi non è necessario altro.
È ora possibile distribuire l'app in App Spring di Azure.
L'elenco seguente descrive le interazioni con i comandi:
Selezionare moduli figlio da configurare: selezionare il modulo da configurare, quindi immettere il numero del modulo Web SimpleTodo.
Accesso OAuth2: autorizzare l'accesso ad Azure in base al protocollo OAuth2.
Selezionare la sottoscrizione: selezionare il numero di elenco di sottoscrizioni dell'istanza di Azure Spring Apps creata, che per impostazione predefinita corrisponde alla prima sottoscrizione nell'elenco. Se si usa il numero predefinito, premere INVIO direttamente.
Selezionare App Azure Spring: selezionare il numero dell'istanza di Azure Spring Apps creata. Se si usa il numero predefinito, premere INVIO direttamente.
Esporre l'accesso pubblico per questa app?: premere y.
Confermare di salvare tutte le configurazioni precedenti (Y/n): premere y. Se si preme n, la configurazione non viene salvata nei file POM.
Usare il comando seguente per distribuire l'app:
./mvnw azure-spring-apps:deploy
L'elenco seguente descrive l'interazione con il comando:
Accesso OAuth2: è necessario autorizzare l'accesso ad Azure in base al protocollo OAuth2.
Dopo l'esecuzione del comando, è possibile visualizzare i messaggi di log seguenti che la distribuzione ha avuto esito positivo:
[INFO] Deployment(default) is successfully created
[INFO] Starting Spring App after deploying artifacts...
[INFO] Deployment Status: Running
[INFO] InstanceName:simple-todo-web-default-x-xxxxxxxxxx-xxxxx Status:Running Reason:null DiscoverStatus:UNREGISTERED
[INFO] InstanceName:simple-todo-web-default-x-xxxxxxxxx-xxxxx Status:Terminating Reason:null DiscoverStatus:UNREGISTERED
[INFO] Getting public url of app(simple-todo-web)...
[INFO] Application url: https://<your-Azure-Spring-Apps-instance-name>-simple-todo-web.azuremicroservices.io
L'URL dell'applicazione di output è l'endpoint per accedere all'applicazionetodo.
È ora possibile distribuire l'app in App Spring di Azure. Usare la procedura seguente per creare un pacchetto dell'app, effettuare il provisioning delle risorse di Azure richieste dall'applicazione Web e quindi eseguire la distribuzione in Azure Spring Apps:
Usare il comando seguente per creare un pacchetto di una copia distribuibile dell'applicazione:
azd package
La console restituisce messaggi simili all'esempio seguente:
SUCCESS: Your application was packaged for Azure in xx seconds.
Usare il comando seguente per distribuire il codice dell'applicazione in tali risorse di cui è stato appena effettuato il provisioning:
azd deploy
La console restituisce messaggi simili all'esempio seguente:
Deploying services (azd deploy)
(✓) Done: Deploying service simple-todo-web
- Endpoint: https://<your-Azure-Spring-Apps-instance-name>-simple-todo-web.azuremicroservices.io/
SUCCESS: Your application was deployed to Azure in xx minutes xx seconds.
You can view the resources created under the resource group rg-<your-environment-name> in Azure Portal:
https://portal.azure.com/#@/resource/subscriptions/<your-subscription-id>/resourceGroups/rg-<your-environment-name>/overview
L'endpoint di output è l'endpoint per accedere all'applicazionetodo.
Nota
È anche possibile usare azd up per combinare i tre comandi precedenti: azd package (pacchetti una copia distribuibile dell'applicazione), (effettua il provisioning delle risorse di Azure) azd provision e azd deploy (distribuisce il codice dell'applicazione). Per altre informazioni, vedere Azure-Samples/ASA-Samples-Web-Application.
5. Convalidare l'app Web
È ora possibile accedere all'app distribuita per verificare se funziona.
Al termine della distribuzione, è possibile trovare l'URL dell'applicazione dagli output della distribuzione:
Accedere all'applicazione con l'URL dell'applicazione di output. La pagina dovrebbe essere visualizzata come si è visto in localhost.
Controllare i dettagli per ogni distribuzione di risorse, utile per analizzare eventuali problemi di distribuzione.
Accedere all'applicazione con l'URL dell'applicazione di output. La pagina dovrebbe essere visualizzata come si è visto in localhost.
Per convalidare, seguire questa procedura:
Al termine della distribuzione, è possibile accedere all'app con questo URL: https://${AZURE_SPRING_APPS_NAME}-${APP_NAME}.azuremicroservices.io/. La pagina dovrebbe essere visualizzata come si è visto in localhost.
Per controllare il log dell'app per analizzare eventuali problemi di distribuzione, usare il comando seguente:
az spring app logs \
--service ${AZURE_SPRING_APPS_NAME} \
--name ${APP_NAME}
Al termine della distribuzione, trovare l'URL dell'applicazione dagli output della distribuzione:
Accedere all'URL dell'applicazione. La pagina dovrebbe essere visualizzata come si è visto in localhost.
Controllare i dettagli per ogni distribuzione di risorse, utile per analizzare eventuali problemi di distribuzione.
Accedere all'applicazione con l'URL dell'applicazione di output. La pagina dovrebbe essere visualizzata come si è visto in localhost.
Accedere all'applicazione con l'endpoint di output. La pagina dovrebbe essere visualizzata come si è visto in localhost.
6. Pulire le risorse
Assicurarsi di eliminare le risorse create in questo articolo quando non sono più necessarie. È possibile eliminare il gruppo di risorse di Azure, che include tutte le risorse del gruppo.
Usare la procedura seguente per eliminare l'intero gruppo di risorse, inclusa l'istanza del servizio appena creata:
Individuare il gruppo di risorse nel portale di Azure. Nel menu di spostamento selezionare Gruppi di risorse e quindi selezionare il nome del gruppo di risorse.
Nella pagina Gruppo di risorse selezionare Elimina. Immettere il nome del gruppo di risorse nella casella di testo per confermare l'eliminazione e quindi selezionare Elimina.
Usare la procedura seguente per eliminare l'intero gruppo di risorse, inclusa l'istanza del servizio appena creata:
Individuare il gruppo di risorse nel portale di Azure. Nel menu di spostamento selezionare Gruppi di risorse e quindi selezionare il nome del gruppo di risorse.
Nella pagina Gruppo di risorse selezionare Elimina. Immettere il nome del gruppo di risorse nella casella di testo per confermare l'eliminazione e quindi selezionare Elimina.
Usare il comando seguente per eliminare tutte le risorse di Azure usate in questa applicazione di esempio:
azd down
L'elenco seguente descrive l'interazione con il comando:
Totale risorse da eliminare: <totale> risorse, continuare?: premere y.
La console restituisce messaggi simili all'esempio seguente:
SUCCESS: Your application was removed from Azure in xx minutes xx seconds.
Usare la procedura seguente per eliminare l'intero gruppo di risorse, inclusa l'istanza del servizio appena creata:
Individuare il gruppo di risorse nel portale di Azure. Nel menu di spostamento selezionare Gruppi di risorse e quindi selezionare il nome del gruppo di risorse.
Nella pagina Gruppo di risorse selezionare Elimina. Immettere il nome del gruppo di risorse nella casella di testo per confermare l'eliminazione e quindi selezionare Elimina.
Usare la procedura seguente per eliminare l'intero gruppo di risorse, inclusa l'istanza del servizio appena creata:
Individuare il gruppo di risorse nel portale di Azure. Nel menu di spostamento selezionare Gruppi di risorse e quindi selezionare il nome del gruppo di risorse.
Nella pagina Gruppo di risorse selezionare Elimina. Immettere il nome del gruppo di risorse nella casella di testo per confermare l'eliminazione e quindi selezionare Elimina.
Usare il comando seguente per eliminare l'intero gruppo di risorse, incluso il servizio appena creato: