Esercizio - Creare una funzione di Azure attivata da un webhook

Completato

In questo primo esercizio si creerà il codice per analizzare i messaggi dell'evento wiki di GitHub in Funzioni di Azure. La funzione verrà configurata in modo da essere eseguita quando si riceve un messaggio del webhook.

Creare un'app per le funzioni

  1. Accedere al portale di Azure con il proprio account di Microsoft Learn.

  2. Selezionare Crea una risorsa. Viene visualizzato il riquadro Crea una risorsa.

  3. Nel riquadro del menu a sinistra, in Categorie selezionare Calcolo e nella casella Search services and marketplace (Servizi di ricerca e marketplace) cercare e selezionare App per le funzioni. Viene visualizzato il riquadro App per le funzioni.

  4. Seleziona Crea. Viene visualizzato il riquadro Crea app per le funzioni.

  5. Nella scheda Informazioni di base immettere i valori indicati di seguito per ogni impostazione.

    Nota

    Il nome dell'app per le funzioni deve essere univoco. È consigliabile usare un nome simile a <nome o iniziali>triggerapp. Usare questo nome ogni volta che viene indicato <nome-app-funzioni>.

    Impostazione Valore
    Dettagli del progetto
    Subscription Concierge Subscription
    Gruppo di risorse Nell'elenco a discesa selezionare il gruppo di risorse sandbox [nome gruppo di risorse sandbox].
    Dettagli dell'istanza
    Nome dell'app per le funzioni <nome-app-funzioni>
    Pubblica Codice
    Stack di runtime Node.JS
    Versione Accettare l'impostazione predefinita
    Area Scegliere la località più vicina all'utente che sia anche tra quelle consentite nelle Aree sandbox.
    Sistema operativo
    Sistema operativo Windows
    Hosting
    Opzioni e piani di hosting Consumo (serverless)

    La sandbox gratuita consente di creare risorse in un subset delle aree globali di Azure. Selezionare un'area nell'elenco seguente durante la creazione delle risorse:

    • Stati Uniti occidentali 2
    • Stati Uniti centro-meridionali
    • Stati Uniti centrali
    • Stati Uniti orientali
    • Europa occidentale
    • Asia sud-orientale
    • Giappone orientale
    • Brasile meridionale
    • Australia sud-orientale
    • India centrale
  6. Selezionare Avanti : Archiviazione per aprire la scheda Archiviazione. Immettere i valori seguenti per ogni impostazione.

    Impostazione Valore
    Storage
    Account di archiviazione (Nuovo) e accettare il nome predefinito.
  7. Selezionare Rivedi e crea.

  8. Azure verifica i valori immessi. Dopo la verifica selezionare Crea.

Creare una funzione attivata da webhook

  1. Al termine della distribuzione selezionare Vai alla risorsa. Viene visualizzato il riquadro Panoramica per l'app per le funzioni.

  2. In Funzioni selezionare Crea in portale di Azure.

  3. Viene visualizzato il riquadro Crea funzione.

  4. In Seleziona un modello selezionare Trigger HTTP e quindi Crea. Viene visualizzato il riquadro HttpTrigger1 per la Funzione, che mostra le informazioni di base per il nuovo trigger.

  5. Nel riquadro del menu a sinistra, in Developer selezionare Codice + Test. Viene visualizzato il riquadro Codice e test per la Funzione, in cui è visualizzato il file JavaScript creato dal modello. Deve essere simile al codice seguente.

    module.exports = async function (context, req) {
        context.log('JavaScript HTTP trigger function processed a request.');
    
        const name = (req.query.name || (req.body && req.body.name));
        const responseMessage = name
            ? "Hello, " + name + ". This HTTP triggered function executed successfully."
            : "This HTTP triggered function executed successfully. Pass a name in the query string or in the request body for a personalized response.";
    
        context.res = {
            // status: 200, /* Defaults to 200 */
            body: responseMessage
        };
    }
    

    Il file index.js è la funzione JavaScript generata dal portale. La richiesta legge un nome passato come stringa di query o come parte del corpo della richiesta e risponde con un messaggio "Hello".

  6. Sopra il codice è riportato il percorso con un elenco a discesa che mostra il nome del file. Nell'elenco a discesa selezionare function.json. Viene visualizzato il file JSON creato dal modello. Deve essere simile al codice seguente.

    {
        "bindings": [
            {
                "authLevel": "function",
                "type": "httpTrigger",
                "direction": "in",
                "name": "req",
                "methods": [
                    "get",
                    "post"
                ]
            },
            {
                "type": "http",
                "direction": "out",
                "name": "res"
            }
        ]
    }
    

    I binding JSON specificano che la funzione viene attivata dalle richieste HTTP GET e POST indirizzate all'URL dell'app per le funzioni.

Attivazione di test della funzione

  1. Nella barra dei menu in alto selezionare Recupera URL della funzione.

  2. Nella finestra di dialogo Recupera URL della funzione, nell'elenco a discesa Chiave in Tasto funzione selezionare predefinito. Nel campo URL selezionare l'icona Copia negli Appunti. L'URL sarà simile al seguente:

    https://<your-functionapp-name>.azurewebsites.net/api/HttpTrigger1?code=aUjXIpqdJ0ZHPQuB0SzFegxGJu0nAXmsQBnmkCpJ6RYxleRaoxJ8cQ==
    
  3. Incollare questo URL in un browser e alla fine dell'URL aggiungere il parametro della stringa di query: &name=<nomeutente>, ad esempio &name=Dick e Jane.

  4. Per eseguire la richiesta, premere Invio. La risposta restituita dalla funzione viene visualizzata nel browser. Sarà simile alla seguente:

    Hello Dick and Jane. This HTTP triggered function executed successfully.
    

Complimenti. A questo punto è disponibile una funzione che può essere attivata da un URL.