Grazie alle Azure Functions diventa facile creare applicazioni serverless, focalizzate sul codice.
Ciascuna function compie un'azione ben specifica, che le consente di eseguire una certa operazione, come ad esempio scrivere su una coda.
Ne abbiamo parlato su http://aspit.co/biy
Tipicamente, una function è in grado di essere invocata con un trigger e di produrre un output.
In realtà, è possibile specificare più ouput, agendo sulla voce Integrate del pannello. Nel nostro caso, ad esempio, aggiungeremo come ouput HTTP, assegnandolo su return, per poi configurare anche un output di tipo Azure Queue Storage, per poter pubblicare anche su una coda.
A questo punto, il trigger ci consentirà di invocare il nostro metodo HTTP, inviando un JSON in input, che verrà decodificato e poi, grazie al fatto che abbiamo specificato un tipo ICollector<T> e il nome del parametro (come nella schermata precedente) su queueItem, sarà inserito nella coda specificata come output solo dopo aver invocato il metodo Add:
#r "Microsoft.WindowsAzure.Storage" #r "Newtonsoft.Json" using System; using System.Net; using Microsoft.WindowsAzure.Storage.Queue; using Newtonsoft.Json; public static async Task<string> Run( HttpRequestMessage req, ICollector<MyMessage> queueItem) { string jsonContent = await req.Content.ReadAsStringAsync(); // MyMessage è una classe con due proprietà di testo, Username e Value var message = JsonConvert.DeserializeObject<MyMessage>(jsonContent); // aggiungo alla coda queueItem.Add(message); // restituisco un risultato return $"OK: [{message.Username}]: {message.Value}"; }
Infine, restituiremo un valore di ritorno, sotto forma di stringa, così che possa essere utilizzato, ad esempio, per loggare la risposta prodotta dalla function.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Le novità di Angular: i miglioramenti alla CLI
Ottimizzare il mapping di liste di tipi semplici con Entity Framework Core
Sfruttare GPT-4o realtime su Azure Open AI per conversazioni vocali
Gestire eccezioni nei plugin di Semantic Kernel in ASP.NET Core Web API
Popolare una classe a partire dal testo, con Semantic Kernel e ASP.NET Core Web API
Gestire gli accessi con Token su Azure Container Registry
Garantire la provenienza e l'integrità degli artefatti prodotti su GitHub
Utilizzare Container Queries nominali
Path addizionali per gli asset in ASP.NET Core MVC
Ordinare randomicamente una lista in C#
Disabilitare automaticamente un workflow di GitHub (parte 2)
Aggiornare a .NET 9 su Azure App Service