Esercizio: Creare una nuova API in Gestione API da un'app per le funzioni

Completato

Per presentare le funzioni di Azure agli utenti come parti di una singola API, è possibile aggiungerle a Gestione API di Azure.

Nell'azienda dello store online gli sviluppatori hanno creato più Funzioni di Azure come microservizi. Ogni funzione implementa una piccola parte della funzionalità del negozio. Si vuole assemblare queste funzioni in un'unica API.

In questo esercizio viene creata una nuova istanza di Gestione API a cui verrà aggiunta una funzione relativa ai dettagli del prodotto.

Creare funzioni

Nei passaggi successivi viene aggiunta un'app per le funzioni di Azure a Gestione API di Azure. Successivamente si aggiunge una seconda app per le funzioni alla stessa istanza di Gestione API per creare una singola API serverless da più funzioni. Iniziare usando uno script per creare le funzioni:

  1. Per clonare il progetto delle funzioni, eseguire il comando seguente in Azure Cloud Shell a destra.

    git clone https://github.com/MicrosoftDocs/mslearn-apim-and-functions.git ~/OnlineStoreFuncs
    
  2. Eseguire i comandi seguenti in Cloud Shell per configurare le risorse di Azure necessarie per questo esercizio.

    cd ~/OnlineStoreFuncs
    bash setup.sh
    

    Lo script setup.sh crea le due app per le funzioni nel gruppo di risorse sandbox che è stato attivato per questo modulo. Come illustrato nell'immagine seguente, ogni app ospita una singola funzione: OrderDetails e ProductDetails. Lo script configura anche un account di archiviazione per le funzioni. Le funzioni hanno entrambe gli URL nel dominio azurewebsites.net. I nomi delle funzioni includono numeri casuali per l'univocità. Il completamento dello script richiede alcuni minuti.

    Diagramma che illustra i risultati dello script setup.sh e come le funzioni sono correlate alla progettazione complessiva dell'applicazione.

Testare la funzione ProductDetails

A questo punto è possibile testare la funzione ProductDetails per verificarne il funzionamento prima di aggiungerla a Gestione API.

  1. Accedere al portale di Azure con lo stesso account usato per attivare la sandbox.

  2. Nel menu del portale di Azure o nella home page selezionare Tutte le risorse. Viene visualizzato il riquadro Tutte le risorse.

  3. Selezionare l'app per le funzioni il cui nome inizia con ProductFunction. Viene visualizzato il riquadro App per le funzioni con la scheda Panoramica selezionata.

    Screenshot delle opzioni di menu per aprire la funzione ProductDetails.

  4. Nell'elenco delle funzioni dell'app per le funzioni selezionare ProductDetails. Viene visualizzato il riquadro Funzione ProductDetails.

  5. Nel menu Dettaglio prodotto, in Sviluppatore selezionare Codice e test. Viene visualizzato il riquadro Codice e test per la funzione ProductDetails, che mostra il contenuto del file function.json.

    Screenshot del riquadro Codice e test ProductDetails con l'opzione Test/Esegui selezionata sulla barra dei comandi.

  6. Nella barra dei comandi selezionare Test/Esegui. Viene visualizzato il riquadro Input/Output per il test della richiesta HTTP.

  7. Nella scheda Input, nell'elenco a discesa del campo Metodo HTTP selezionare GET.

  8. In Query selezionare Aggiungi parametro

  9. Nel campo Nome immettere ID e nel campo Valore immettere 3, quindi selezionare Esegui.

    Screenshot del riquadro di input per Test ed esecuzione, con il parametro di input per il metodo HTTP GET evidenziato.

  10. Viene visualizzato un riquadro di log per connettere la richiesta. La scheda Output visualizza il codice di risposta HTTP (200 OK) e il contenuto per l'elemento 3 nel database.

    Screenshot dell'output di un riquadro per Test ed esecuzione con i risultati della risposta dell'esecuzione del metodo GET.

    Facoltativamente è anche possibile testare la funzione immettendo i valori ID 1 e 2.

  11. Selezionare Chiudi per chiudere le schede Input Output per Codice e test.

  12. Nella barra dei comandi del riquadro Codice ProductDetails + Test selezionare Ottieni URL funzione. Si noti che il sottodominio dell'URL è il nome dell'app per le funzioni, seguito dal dominio azurewebsites.net.

Nota

È possibile usare questo URL per testare la funzione nel browser. L'URL richiede un input; aggiungere la stringa di query &id=1 per richiedere i dettagli sul primo elemento nella raccolta di prodotti.

Esporre l'app per le funzioni come API usando Gestione API di Azure

Dopo aver distribuito e testato l'app per le funzioni, esportarla come API usando Gestione API di Azure in modo che possa essere chiamata da altre app e servizi.

  1. Nel menu delle risorse selezionare Tutte le risorse. Viene visualizzato il riquadro Tutte le risorse.

  2. Ordinare l'elenco di risorse in base al tipo. Si noti che si dispone di un'app OrderFunction e di un'app ProductFunction.

  3. Selezionare l'app per le funzioni ProductFunction.

  4. Nel menu dell'app per le funzioni scorrere fino alla categoria API e quindi selezionare Gestione API. Viene visualizzato il riquadro Gestione API relativo all'app per le funzioni ProductFunction.

    Screenshot che mostra l'opzione di menu per aprire il servizio app Gestione API.

  5. Nel campo Gestione API selezionare Crea nuovo. Viene visualizzato il riquadro Installa gateway di Gestione API.

    Screenshot che mostra le impostazioni per un servizio Gestione API.

  6. Immettere i seguenti valori per ogni impostazione.

    Impostazione Valore
    Subscription Concierge Subscription
    Gruppo di risorse [nome gruppo di risorse sandbox]
    Paese Scegliere una località che supporti il piano a consumo: Stati Uniti occidentali, Stati Uniti centro-settentrionali, Europa occidentale, Europa settentrionale, Asia sud-orientale, Australia orientale
    Nome risorsa OnlineStore
    Nome organizzazione OnlineStore
    Indirizzo di posta elettronica dell'amministratore Immettere un indirizzo e-mail.
    Piano tariffario Consumo (contratto di servizio del 99,95%)
  7. Selezionare Avanti: Monitoraggio e deselezionare l'opzione Application Insights.

  8. Selezionare Rivedi e crea. Al termine della convalida, selezionare Crea per creare un'istanza di Gestione API collegata. Attendere alcuni minuti per il completamento dell'esportazione.

  9. Quando viene distribuita l'istanza di Gestione API, selezionare Collega API.

    Screenshot di Gestione API con il pulsante Collega API evidenziato.

    Viene visualizzato il riquadro del servizio Gestione API Importa funzioni di Azure con la funzione ProductDetails evidenziata.

    Screenshot che mostra il riquadro Importa funzioni di Azure del servizio Gestione API.

  10. Selezionare Seleziona per continuare. Viene visualizzata la finestra di dialogo Crea da app per le funzioni.

    Screenshot che mostra la finestra di dialogo Crea da app per le funzioni.

  11. Modificare il valore Suffisso dell'URL dell'API in products e quindi selezionare Crea. Azure crea l'API per la funzione ProductDetails. Viene visualizzata la scheda Progetto del riquadro Gestione API per l'app per le funzioni.

Questo esercizio mostra che è possibile definire l'API dal servizio App per le funzioni di Azure.

Testare l'endpoint prodotti del negozio online

È ora disponibile un'API ProductDetails nell'istanza di Gestione API creata. È ora necessario testare l'API con gli strumenti di Gestione API in Azure.

  1. Nel riquadro Gestione API dell'app per le funzioni selezionare la scheda Test. Le operazioni disponibili per l'API vengono visualizzate nella colonna a sinistra.

  2. Selezionare GET ProductDetails. Viene visualizzato il riquadro Console ProductDetails.

  3. In Parametri di query selezionare Aggiungi parametro.

    Screenshot che mostra la console ProductDetails con i valori dei parametri di query evidenziati per la richiesta HTTP GET.

  4. Nel campo NOME immettere id e nel campo VALORE immettere 1, quindi selezionare Invia per generare una richiesta GET.

    La sezione Risposta HTTP della console include due schede, Messaggio e Traccia. La scheda Messaggio viene popolata con la risposta HTTP. I dettagli del prodotto vengono visualizzati in formato JSON alla fine della risposta. Scorrere verso l'alto fino alla sezione Richiesta HTTP e notare il formato della richiesta. La richiesta è stata inviata a una destinazione all'interno del dominio azure-api.net. Questa posizione è diversa dalla posizione nel dominio azurewebsites.net in cui è ospitata l'app per le funzioni. È possibile testare questa API con altri parametri di query, ad esempio id=2 o id=3.

    Screenshot che mostra i messaggi **Richiesta HTTP** e **Risposta HTTP**.