Esercizio - Creare una funzione di Azure attivata da un webhook
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
Accedere al portale di Azure con il proprio account di Microsoft Learn.
Selezionare Crea una risorsa. Viene visualizzato il riquadro Crea una risorsa.
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.
Seleziona Crea. Viene visualizzato il riquadro Crea app per le funzioni.
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
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. Selezionare Rivedi e crea.
Azure verifica i valori immessi. Dopo la verifica selezionare Crea.
Creare una funzione attivata da webhook
Al termine della distribuzione selezionare Vai alla risorsa. Viene visualizzato il riquadro Panoramica per l'app per le funzioni.
In Funzioni selezionare Crea in portale di Azure.
Viene visualizzato il riquadro Crea funzione.
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.
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".
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
Nella barra dei menu in alto selezionare Recupera URL della funzione.
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==
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.
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.