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
Sviluppare un'interfaccia utente in React con Tailwind CSS e Preline UI
Trasformare qualsiasi backend in un servizio GraphQL con Azure API Management
Utilizzare politiche di resiliency con Azure Container App
Gestire domini wildcard in Azure Container Apps
Generare file PDF da Blazor WebAssembly con iText
Evitare il flickering dei componenti nel prerender di Blazor 8
Mascherare l'output di un valore all'interno dei log di un workflow di GitHub
Gestire liste di tipi semplici con Entity Framework Core
Come migrare da una form non tipizzata a una form tipizzata in Angular
Eseguire query verso tipi non mappati in Entity Framework Core
Gestire i null nelle reactive form tipizzate di Angular
Elencare le container images installate in un cluster di Kubernetes
I più letti di oggi
- Miglioramenti nelle performance di Angular 16
- Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
- HTML5 con CSS e JavaScript
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Ottimizzazione dei block template in Angular 17
- Disabilitare automaticamente un workflow di GitHub (parte 2)