Esercizio - Gestire le distribuzioni di app dall'IDE di IntelliJ

Completato

Nell'unità precedente si è appreso che Azure Explorer in Azure Toolkit for IntelliJ consente di gestire e configurare app Web di Azure. In questo esercizio si vedrà come usare Azure Explorer per trasmettere i log dall'app Web nel servizio app di Azure in IntelliJ IDEA.

Si modificherà quindi l'app Web usando Azure Explorer per aggiungere una coppia di proprietà alla configurazione. Si modificherà l'app Web per leggere il valore di queste proprietà e usarle nella logica dell'app Web. Si ridistribuirà quindi l'app Web e si verificherà che funzioni come previsto.

Monitorare l'app con lo streaming di log

  1. In IntelliJ IDEA scegliere Finestre degli strumenti dal menu Visualizza e quindi Selezionare Azure Explorer.

  2. Nella finestra Azure Explorer espandere App Web, fare clic con il pulsante destro del mouse sull'app Web e quindi scegliere Avvia streaming log.

    Screenshot del menu contestuale per l'app web nella finestra di Azure Explorer.

  3. Verranno visualizzati i log in pochi secondi. È possibile accedere all'app Web per generare alcuni log.

    Screenshot del Web browser che visualizza il messaggio HTTP 403.

  4. Per interrompere il flusso dei log, fare clic con il pulsante destro del mouse sull'app Web e scegliere Arresta log di streaming.

Aggiungere le proprietà di configurazione all'app Web

  1. Nella finestra Azure Explorer fare clic con il pulsante destro del mouse sull'app Web e quindi scegliere Mostra proprietà. Verrà visualizzata la finestra delle proprietà per l'app Web:

    Screenshot della finestra delle proprietà per l'app Web.

  2. Nella finestra delle proprietà selezionare l'icona Aggiungi per aggiungere una nuova chiave di proprietà e un valore.

  3. Nella colonna Nome della nuova proprietà immettere il nome Ritardo.

  4. Nella colonna Valore per la proprietà digitare il valore 2, quindi premere INVIO.

  5. Nella finestra delle proprietà selezionare di nuovo l'icona Aggiungi .

  6. Aggiungere un'altra proprietà denominata Iterations, con il valore 10.

    Screenshot della finestra delle proprietà per l'app Web che mostra le nuove proprietà e i nuovi valori.

  7. Seleziona Salva.

Modificare l'app Web per usare le proprietà

  1. Nella finestra Esplora progetti fare doppio clic sul index.jsp per riaprirlo.

  2. <body> Nella sezione del codice per la pagina Web aggiornare il codice come illustrato di seguito:

    <body>
        <%! int delayms = Integer.valueOf(System.getenv("Delay")) * 1000;
            int iterations = Integer.valueOf(System.getenv("Iterations"));
            DateFormat fmt = new SimpleDateFormat("dd/MM/yy HH:mm:ss"); %>
        <%  for (int i = 0; i < iterations; i++) {
            Thread.sleep(delayms); %>
            <p>Today's date is <%= fmt.format(new Date()) %></p>
        <% } %>
        <p>Your IP address is <%= request.getRemoteAddr() %></p>
    </body>
    

    Questo codice legge i valori di entrambe le proprietà, esposte come variabili di ambiente per il runtime dell'app Web. Il codice visualizza la data e l'ora a intervalli di Delay secondi, ripetendo Iterations volte.

    Annotazioni

    In questo esempio il codice viene eseguito in modo sincrono al momento della generazione dell'output. Ciò significa che la visualizzazione della pagina può richiedere fino a 20 secondi.

  3. Scegliere Salva tutto dal menu File.

  4. Nella finestra Esplora progetti fare clic con il pulsante destro del mouse sull'app Web, selezionare Azure, quindi selezionare Distribuisci in App Web di Azure.

  5. Nella finestra Distribuisci app Web accettare le impostazioni predefinite e quindi selezionare Esegui. Questa azione sovrascrive l'app Web esistente con la nuova versione.

  6. Nella finestra Log attività di Azure attendere che la colonna di stato indichi che l'app Web è stata distribuita correttamente.

  7. Selezionare il collegamento Pubblicato nella finestra Log attività di Azure. Verrà visualizzata una nuova finestra del browser. Dopo 20 secondi, verranno visualizzati i messaggi che visualizzano l'ora a intervalli di due secondi, seguiti dall'indirizzo IP del computer client.

    Screenshot del Web browser che esegue la nuova versione dell'app Web.

    Annotazioni

    Se si tenta di passare al sito Web mentre è ancora in fase di pubblicazione, verrà visualizzato un errore HTTP 403. In questo caso, attendere alcuni secondi e aggiornare il Web browser.

  8. Lasciare aperta la finestra del browser e tornare a IntelliJ IDEA.

  9. Nella finestra Azure Explorer fare clic con il pulsante destro del mouse sull'app Web e quindi scegliere Mostra proprietà.

  10. Nella finestra delle proprietà selezionare la proprietà Delay , fare doppio clic nel campo Valore per modificarla. Modificare il valore impostandolo su 1.

  11. Selezionare la proprietà Iterazioni e impostare il valore su 5.

  12. Seleziona Salva.

  13. Tornare al Web browser e aggiornare la visualizzazione. Questa volta, la pagina visualizzerà l'orario a intervalli di un secondo, ripetuti solo cinque volte. Si noti che non è necessario ridistribuire l'app Web.

    Screenshot del browser web che esegue la versione modificata della web app.

Importante

L'eliminazione dell'app Web con Azure Toolkit for IntelliJ non elimina il piano di servizio app, ma è possibile rimuovere il piano usando il portale di Azure. A tale scopo, passare al gruppo di risorse appropriato, selezionare il piano di servizio app e quindi fare clic su Elimina, come illustrato nell'immagine seguente:

Screenshot del portale di Azure. L'utente sta eliminando il piano di servizio app.