Lab 08: Creare una soluzione multilivello usando i servizi di Azure

Interfaccia utente di Microsoft Azure

Considerata la natura dinamica degli strumenti cloud di Microsoft, è possibile rilevare modifiche all’interfaccia utente di Azure apportate dopo lo sviluppo di questo contenuto per la formazione. È quindi possibile che le istruzioni e le procedure del lab non siano allineate correttamente.

Microsoft aggiorna questo corso di formazione quando la community segnala le modifiche necessarie. Poiché gli aggiornamenti cloud vengono apportati spesso, tuttavia, è possibile che si rilevino modifiche all’interfaccia utente prima degli aggiornamenti del contenuto per la formazione. In questo caso, adattarsi alle modifiche e quindi eseguire le operazioni necessarie nei lab.

Istruzioni

Prima di iniziare

Accedere all’ambiente lab

Accedere alla macchina virtuale Windows 10 usando le credenziali seguenti:

  • Nome utente: Admin

  • Password: Pa55w.rd

Nota: il docente fornirà le istruzioni necessarie per la connessione all’ambiente lab virtuale.

Esaminare le applicazioni installate

Trovare la barra delle applicazioni nel desktop di Windows 10. Questa barra delle applicazioni contiene le icone delle applicazioni che verranno usate in questo lab:

  • Microsoft Edge

Diagramma dell’architettura

Diagramma dell'architettura che illustra la creazione di un'applicazione multilivello usando i servizi di Azure.

Esercizio 1: Creare una risorsa di Servizio app di Azure usando un’immagine del contenitore Docker

Attività 1: Aprire il portale di Azure

  1. Sulla barra delle applicazioni selezionare l’icona di Microsoft Edge.

  2. Nella finestra del browser che si aprirà passare al portale di Azure (portal.azure.com) e quindi accedere con l’account che si userà per questo lab.

    Nota: se si sta eseguendo l’accesso al portale di Azure per la prima volta, verrà visualizzata una presentazione del portale. Selezionare Attività iniziali per ignorare la presentazione e iniziare a usare il portale.

Attività 2: Creare un’app Web mediante la risorsa di Servizio app di Azure usando un’immagine del contenitore httpbin

  1. Nel portale di Azure usare la casella di testo Cerca risorse, servizi e documentazione per cercare Servizi app e quindi nell’elenco dei risultati selezionare Servizi app.

  2. Nel pannello Servizi app selezionare + Crea.

  3. Nella scheda Informazioni di base del pannello Crea app Web eseguire le azioni seguenti:

    Impostazione Azione
    Elenco a discesa Sottoscrizione Mantenere il valore predefinito
    Sezione Gruppo di risorse Selezionare Crea nuovo, immettere ApiService e quindi selezionare OK
    Casella di testo Nome Immettere httpapi [nomeutente]
    Sezione Pubblica Selezionare Contenitore Docker
    Sezione Sistema operativo Selezionare Linux.
    Elenco a discesa Area Selezionare qualsiasi area di Azure in cui è possibile distribuire un’app Web di Azure
    Sezione Piano Linux Selezionare Crea nuovo, immettere il valore ApiPlan nella casella di testo Nome e quindi selezionare OK
    Sezione Piano tariffario Selezionare Modifica dimensioni nel pannello Selezione specifiche, selezionare Visualizza opzioni aggiuntive, selezionare S1 e quindi selezionare Applica
  4. Selezionare Avanti: Docker > .

  5. Nella scheda Docker eseguire le azioni seguenti e quindi selezionare Rivedi e crea:

    Impostazione Azione
    Elenco a discesa Opzioni Selezionare Contenitore singolo
    Elenco a discesa Origine immagine Selezionare Docker Hub
    Elenco a discesa Tipo di accesso Selezionare Pubblico
    Casella di testo Immagine e tag Immettere kennethreitz/httpbin:latest
  6. Nella scheda Rivedi e crea esaminare le opzioni selezionate durante i passaggi precedenti.

  7. Selezionare Crea per creare l’app Web usando la configurazione specificata.

    Nota: prima di procedere con il lab, attendere il completamento dell’attività di creazione.

Attività 3: Testare l’applicazione Web httpbin

  1. Nel portale di Azure usare la casella di testo Cerca risorse, servizi e documentazione per cercare Servizi app e quindi nell’elenco dei risultati selezionare Servizi app.

  2. Nel pannello Servizi app selezionare l’app Web appena creata.

  3. Nel pannello che mostra le proprietà dell’app appena creata selezionare Sfoglia.

  4. All’interno dell’applicazione Web eseguire le azioni seguenti:

    a. Selezionare Formati di risposta.

    b. Selezionare GET /html.

    c. Selezionare Prova.

    Lo screenshot seguente mostra la sezione Prova dell’applicazione Web.

    Sezione Prova GET /html della pagina API httpbin.org

    d. Selezionare Esegui.

    e. Esaminare il valore delle caselle di testo Corpo della risposta e Intestazioni della risposta.

    f. Esaminare il valore della casella di testo URL della richiesta.

  5. All’interno dell’applicazione Web eseguire le azioni seguenti:

    a. Selezionare Dati dinamici.

    b. Selezionare GET /bytes/{n} .

    c. Selezionare Prova.

    d. Nella casella di testo n immettere 25.

    e. Selezionare Esegui.

    f. Esaminare il valore delle caselle di testo Corpo della risposta e Intestazioni della risposta.

    g. Selezionare Scarica il file. Al termine del download, aprire il file in Blocco note, esaminarne il contenuto e quindi chiuderlo.

    Nota: il file contiene una sequenza di byte generati in modo casuale.

    Lo screenshot seguente mostra la sezione dei dati dinamici dell’applicazione Web.

    Sezione dei dati dinamici - GET /bytes/{n} della pagina API httpbin.org

  6. All’interno dell’applicazione Web eseguire le azioni seguenti:

    a. Selezionare Codici di stato.

    b. Selezionare GET /status/{codes} .

    c. Selezionare Prova.

    d. Nella casella di testo codici immettere 404.

    e. Selezionare Esegui.

    f. Esaminare la sezione Server response (Risposta del server) e notare che include la voce Error: NOT FOUND (Errore: NON TROVATO).

  7. Chiudere la finestra del browser in cui è visualizzata l’applicazione Web.

  8. Tornare alla finestra del browser in cui è visualizzata l’app Web httpapi [nomeutente] .

  9. Nella sezione Impostazioni selezionare il collegamento Proprietà.

  10. Nella sezione Proprietà registrare il valore del collegamento URL. Questo valore verrà usato più avanti nel lab per inviare richieste all’API corrispondente.

Verifica

In questo esercizio è stata creata una nuova app Web di Azure usando un’immagine del contenitore originata da Docker Hub.

Esercizio 2: Creare un livello proxy API usando Gestione API di Azure

Attività 1: Creare una risorsa di Gestione API di Azure

  1. Nel portale di Azure usare la casella di testo Cerca risorse, servizi e documentazione per cercare Servizi Gestione API e quindi nell’elenco dei risultati selezionare Servizi Gestione API.

  2. Nel pannello Servizi Gestione API selezionare + Crea.

  3. Nel pannello Installa gateway di gestione API eseguire le azioni seguenti e quindi selezionare Rivedi e crea:

    Impostazione Azione
    Elenco a discesa Sottoscrizione Mantenere il valore predefinito.
    Sezione Gruppo di risorse Selezionare il gruppo ApiService creato in precedenza nel lab
    Elenco Area Selezionare la stessa area scelta nell’esercizio precedente
    Casella di testo Nome della risorsa Immettere proapi [nomeutente]
    Casella di testo Nome organizzazione Immettere Contoso
    Casella di testo Indirizzo di posta elettronica dell’amministratore Immettere admin@contoso.com
    Elenco a discesa Piano tariffario Consumo (contratto di servizio del 99,95%)

    Lo screenshot seguente mostra le impostazioni configurate del pannello Crea Gestione API dell’applicazione Web.

    Creare un pannello Gestione API

  4. Nella scheda Rivedi e crea esaminare l’opzione specificata nel passaggio precedente e quindi selezionare Crea.

    Nota: prima di procedere con il lab, attendere il completamento dell’attività di creazione.

  5. Nel pannello Panoramica sulla distribuzione selezionare Vai alla risorsa.

Attività 2: Definire una nuova API

  1. Nel pannello Servizio Gestione API selezionare API nella sezione API.

  2. Nella sezione Define a new API (Definisci una nuova API) selezionare HTTP.

  3. Nella finestra Crea un’API HTTP eseguire le azioni seguenti e selezionare Crea:

    Impostazione Azione
    Casella di testo Nome visualizzato Immettere HTTPBin API
    Casella di testo Nome Immettere httpbin-api
    Casella di testo URL servizio Web Immettere l’URL dell’app Web copiato in precedenza in questo lab. Nota: assicurarsi che l’URL inizi con il prefisso https://
    Casella di testo Suffisso dell’URL dell’API Lasciare il campo vuoto

    Lo screenshot seguente mostra le impostazioni configurate della finestra Crea un’API vuota dell’applicazione Web.

    Riquadro Crea un'API vuota

    Nota: attendere il completamento della creazione della nuova API.

  4. Nella scheda Progettazione selezionare + Aggiungi operazione.

  5. Nella sezione Aggiungi operazione eseguire le azioni seguenti e quindi selezionare Salva:

    Impostazione Azione
    Casella di testo Nome visualizzato Immettere Echo Headers
    Casella di testo Nome Verificare che il valore sia impostato su echo-headers
    Elenco URL Selezionare GET
    Casella di testo URL Immettere /

    Lo screenshot seguente mostra le impostazioni configurate della sezione Aggiungi operazione.

    Proprietà dell'operazione di aggiunta intestazioni echo

  6. Sempre nella scheda Progettazione selezionare Echo Headers nell’elenco delle operazioni.

  7. Nel riquadro Elaborazione in ingresso della sezione Progettazione selezionare + Aggiungi criteri.

  8. Nella sezione Add inbound policy (Aggiungi criteri in ingresso) selezionare il riquadro Imposta intestazioni.

  9. Nella sezione Imposta intestazioni eseguire le azioni seguenti e quindi selezionare Salva:

    Impostazione Azione
    Casella di testo Nome Immettere source
    Casella di testo Valore Selezionare l’elenco, selezionare Aggiungi valore e quindi immettere azure-api-mgmt
    Elenco Azione Selezionare accoda

    Lo screenshot seguente mostra le impostazioni configurate della sezione Progettazione.

    Riquadro di progettazione Echo Headers

  10. Sempre nella scheda Progettazione selezionare Echo Headers nell’elenco delle operazioni.

  11. Nella sezione Progettazione per Echo Headers selezionare l’icona a forma di matita nel riquadro Back-end.

  12. Nella sezione Back-end eseguire le azioni seguenti e quindi selezionare Salva:

    Impostazione Azione
    Sezione URL del servizio Selezionare la casella di controllo Sostituzione
    Casella di testo URL servizio Accodare il valore /headers al valore corrente. Nota: ad esempio, se il valore corrente è http://httpapi[yourname].azurewebsites.net, il nuovo valore sarà http://httpapi[yourname].azurewebsites.net/headers
  13. Tornare alla scheda Progettazione, selezionare Echo Headers nell’elenco delle operazioni e quindi selezionare la scheda Test.

  14. Nella sezione Echo Headers selezionare Invia.

    Lo screenshot seguente mostra le impostazioni configurate della sezione Echo Headers.

    Scheda Test Echo Headers

  15. Esaminare i risultati della richiesta API.

    Nota: verificare che nella risposta siano visualizzate molte intestazioni inviate come parte della richiesta. Dovrebbero includere la nuova intestazione Source creata come parte di questa attività.

    Lo screenshot seguente mostra la risposta alla richiesta Echo Headers.

    Risposta alla richiesta di test intestazioni echo

  16. Selezionare la scheda Progettazione per tornare all’elenco delle operazioni.

Attività 3: Modificare una risposta API

  1. Nella scheda Progettazione selezionare + Aggiungi operazione.

  2. Nella sezione Aggiungi operazione eseguire le azioni seguenti e quindi selezionare Salva:

    Impostazione Azione
    Casella di testo Nome visualizzato Immettere Get Legacy Data
    Casella di testo Nome Verificare che il valore sia impostato su get-legacy-data
    Elenco URL Verificare che il valore sia impostato su GET
    Casella di testo URL Immettere /xml
  3. Tornare alla scheda Progettazione e selezionare Get Legacy Data nell’elenco delle operazioni.

  4. Selezionare la scheda Test e quindi selezionare Invia.

  5. Esaminare i risultati della richiesta API.

    Nota: a questo punto, i risultati dovrebbero essere in formato XML.

    Lo screenshot seguente mostra i risultati della richiesta API.

    Risposta alla richiesta di recupero dati legacy

  6. Selezionare la scheda Progettazione e quindi selezionare Get Legacy Data.

  7. Nella sezione Elaborazione in uscita del riquadro Progettazione selezionare Aggiungi criterio.

    Lo screenshot seguente mostra la sezione Elaborazione in uscita.

    Sezione di elaborazione in uscita dell'operazione di recupero dati legacy

  8. Nella sezione Add outbound policy (Aggiungi criteri in uscita) selezionare il riquadro Altri criteri.

  9. Nell’editor del codice dei criteri trovare il blocco di contenuto XML seguente:

    <outbound>
        <base />
    </outbound>
    
  10. Sostituire il blocco di codice XML con il codice seguente:

    <outbound>
        <base />
        <xml-to-json kind="direct" apply="always" consider-accept-header="false" />
    </outbound>
    
  11. Nell’editor di codice dei criteri selezionare Salva.

  12. Tornare alla scheda Progettazione, selezionare Get Legacy Data nell’elenco delle operazioni e quindi selezionare Test.

  13. Nella sezione Get Legacy Data selezionare Invia.

  14. Esaminare i risultati della richiesta API.

    Nota: i nuovi risultati sono in formato JSON (JavaScript Object Notation).

  15. Nella sezione Risposta HTTP eseguire le azioni seguenti:

    1. Selezionare Traccia.

    2. Esaminare il contenuto nelle caselle di testo Back-end e In uscita e notare che includono i dettagli delle operazioni API corrispondenti con le informazioni sulla tempistica.

Attività 4: Modificare una richiesta API

  1. Nella scheda Progettazione selezionare + Aggiungi operazione.

  2. Nella sezione Aggiungi operazione eseguire le azioni seguenti e quindi selezionare Salva:

    Impostazione Azione
    Casella di testo Nome visualizzato Immettere Modify Status Code
    Casella di testo Nome Verificare che il valore sia impostato su modify-status-code
    Elenco URL Selezionare GET
    Casella di testo URL Immettere /status/404
  3. Tornare alla scheda Progettazione e selezionare Modify Status Code nell’elenco delle operazioni.

  4. Nella sezione Progettazione, nel riquadro Elaborazione in ingresso selezionare + Aggiungi criteri.

  5. Nella sezione Add inbound policy (Aggiungi criteri in ingresso) selezionare il riquadro Riscrivi URL.

  6. Nella sezione Riscrivi URL eseguire le azioni seguenti:

    a. Nella casella di testo Back-end immettere /status/200.

    b. Selezionare Salva.

  7. Tornare alla scheda Progettazione, selezionare Modify Status Code nell’elenco delle operazioni e quindi selezionare la scheda Test.

  8. Nella sezione Modify Status Code selezionare Invia.

  9. Esaminare i risultati della richiesta API.

    Nota: verificare che la richiesta abbia restituito la risposta HTTP/1.1 200 OK.

Verifica

In questo esercizio è stato creato un livello proxy tra la risorsa del servizio app e gli sviluppatori che vogliono eseguire query sull’API corrispondente.

Esercizio 3: Pulire la sottoscrizione

Attività 1: Aprire Azure Cloud Shell

  1. Nel portale di Azure selezionare l’icona di Cloud Shell Icona di Cloud Shell per aprire una nuova sessione di Bash. Se in Cloud Shell viene aperta per impostazione predefinita una sessione di PowerShell, selezionare PowerShell e quindi nel menu a discesa selezionare Bash.

    Nota: se è la prima volta che si avvia Cloud Shell, quando viene richiesto di selezionare Bash oppure PowerShell selezionare PowerShell. Quando viene visualizzato il messaggio Non sono state montate risorse di archiviazione, selezionare la sottoscrizione usata in questo lab e quindi selezionare Crea risorsa di archiviazione.

Attività 2: Eliminare i gruppi di risorse

  1. Nel riquadro Cloud Shell eseguire il comando seguente per eliminare il gruppo di risorse ApiService:

    az group delete --name ApiService --no-wait --yes
    

    Nota: il comando viene eseguito in modo asincrono, in base a quanto determinato dal parametro –no-wait, quindi, sebbene sia possibile eseguire un altro comando dell’interfaccia della riga di comando di Azure immediatamente dopo nella stessa sessione Bash, il gruppo di risorse verrà effettivamente rimosso dopo alcuni minuti.

  2. Chiudere il riquadro Cloud Shell nel portale.

Attività 3: Chiudere le applicazioni attive

  1. Chiudere l’applicazione Microsoft Edge in esecuzione.

Verifica

In questo esercizio è stata pulita la sottoscrizione mediante la rimozione dei gruppi di risorse usati in questo lab.