Le Azure Function sono il servizio Microsoft pensato per permetterci di lavorare con un approccio serverless. Il focus è sulle funzioni, le quali possono essere invocate da appositi trigger disponibili e di moltissimi tipi. Ad eccezione dell'HttpTrigger, gli altri trigger utilizzano code, storage, timer o hook esterni e questo non facilita lo sviluppo e il debug.
Fortunatamente, quando sviluppiamo in locale ed utilizziamo il runtime per eseguire le nostre funzioni, l'host si mette in ascolto su uno speciale endpoint che ci permette di invocare qualsiasi tipologia di trigger effettuando una chiamata HTTP.
Ipotizziamo di avere la seguente function.
[FunctionName("MyFunction")] public static void Run([QueueTrigger("myqueue-items")]string myQueueItem, ILogger log) { log.LogInformation($"C# Queue trigger function processed: {myQueueItem}"); }
Avviamo il runtime da Visual Studio o Visual Studio Code e utilizzando software come Fiddler, PostMan o curl, invochiamo la funzione.
POST http://localhost:7071/admin/functions/MyFunction Content-Type: application/json { "input": "ciao" }
Come possiamo notare è sufficiente apporre il nome della funzione alla fine del percorso speciale. Con il campo input, inoltre, possiamo passare l'oggetto che il rispettivo trigger deserializzerà, anche un ipotetico JSON opportunamente codificato.
Il risultato è visibile nella seguente figura.

Per maggiori informazioni rimandiamo alla documentazione
https://docs.microsoft.com/en-us/azure/azure-functions/functions-run-local?tabs=windows#non-http-triggered-functions
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Ricevere notifiche sui test con Azure Load Testing
Utilizzare l'espressione if inline in una pipeline di Azure DevOps
Documentare i servizi REST con Swagger e OpenAPI con .NET 9
Utilizzare Copilot con Azure Cosmos DB
Utilizzare EF.Constant per evitare la parametrizzazione di query SQL
Anonimizzare i dati sensibili nei log di Azure Front Door
Migliorare l'organizzazione delle risorse con Azure Policy
Ottimizzare le performance usando Span<T> e il metodo Split
Utilizzare il metodo IntersectBy per eseguire l'intersection di due liste
Migliorare la scalabilità delle Azure Function con il Flex Consumption
Creare una libreria CSS universale: Clip-path
Disabilitare le run concorrenti di una pipeline di Azure DevOps