Le Azure Function sono l'implementazione Microsoft delle cosiddette Function as a Service (FaaS) e permettono di definire funzioni indipendenti attivabili dai più diversi trigger che vanno da una chiamata HTTP fino all'elaborazione di messaggi in coda.
Esse si poggiano sulla stessa infrastruttura degli App Service perciò godono di molte caratteristiche che già troviamo per l'hosting delle nostre app, come gli app settings, il service plan e tante altre, tra le quali anche gli slot. Con essi possiamo definire e ospitare più versioni nelle nostre function con l'obbiettivo in genere di testarle e di portarle poi in produzione.
Per usufruire di questa funzionalità dobbiamo prima di tutto abilitare il supporto con l'apposito switch che troviamo nei settings della function.

Successivamente possiamo premere sul nodo Slots e creare uno o più deployment.

Una volta creato lo slot possiamo espandere l'albero di sinistra ed entrare nelle rispettive funzioni, come se fossero due function app indipendenti.

Possiamo quindi definire le funzioni direttamente dal portale o effettuare deployment con i vari strumenti che abbiamo a disposizione, ed impostare tutte le impostazioni ad eccezione di quelle che riguardano il service plan da usare (che il è medesimo).
Gli slot che creiamo, come per le web app, sono raggiungibili via HTTP attraverso lo stesso nome ma con il suffisso -nomeSlot. Per quanto riguarda gli altri trigger, invece, è bene notare che le funzioni, anche se non dello slot principale, monitorano comunque le code. E' bene quindi usare nei trigger e nei binding i segnaposti marcati con il % (percentuale) per poter fare riferimento ad una chiave delle impostazioni. In questo modo possiamo usare code o database diversi a seconda dello slot che stiamo usando.
In qualsiasi momento possiamo poi procedere allo swap premendo l'anonimo pulsante disponibile nella sezione overview.

In modo molto simile alle web app, possiamo indicare sorgente e destinazione, la facoltà di attivare la preview ed infine ottenere un'anteprima delle impostazioni che verranno scambiate.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Sfruttare i tag nell'output cache di ASP.NET Core 7
Monitorare i server on-premises con Azure Arc
Ottenere il riferimento alla finestra che ha aperto un'altra finestra con HTML5 e JavaScript
Generare file PDF da Blazor WebAssembly con iText
Verificare la provenienza di un commit tramite le GitHub Actions
Gestire server e pc on premise con Azure Arc
Migrare un repository che contiene large file storage objects in GitHub
Eseguire attività pianificate con Azure Container Jobs
Utilizzare domini personalizzati gestiti automaticamente con Azure Container Apps
Eseguire attività basate su eventi con Azure Container Jobs
Utilizzare le collection expression in C#
Sopprimere gli errori di concorrenza quando si elimina una entity con Entity Framework 7
I più letti di oggi
- .NET Conference Italia 2023 - Milano e Online
- Utilizzare database e servizi con gli add-on di Container App
- Evitare la script injection nelle GitHub Actions
- Reactive form tipizzati con modellazione del FormBuilder in Angular
- Eseguire attività basate su eventi con Azure Container Jobs
- Eseguire query verso tipi non mappati in Entity Framework Core
- Utilizzare le collection expression in C#
- Registrare servizi multipli tramite chiavi in ASP.NET Core 8
- Reactive form tipizzati con FormBuilder in Angular