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
Utilizzare i Workspace con NPM 7
Rendere sticky un elemento HTML in Angular
Tracciare il body delle richieste fallite con Application Insights in .NET Core
Sviluppare codice nativo per Windows e Linux con .NET Core
Eseguire più query che tornano un singolo dato in un solo comando con la libreria Entity Framework Plus
Le novità di .NET 5
Impostare e validare il tipo dei parametri nei template delle pipeline di Azure DevOps
Gestire un observable quando la finestra del browser non è attiva in Angular
A quick tour around Azure Dev Spaces
PWAConf 2020
Sfruttare al massimo Kubernetes con Azure DevOps
Testare le impostazioni CORS di un'applicazione ASP.NET Core
I più letti di oggi
- il 18/02 c'è il #container & #devops day! https://aspit.co/ContainerDevOpsDay-21 Le iscrizioni sono sempre aperte e la Call For Paper è attiva fino al 28/01! #aspilive #cfp
- Blazor Conference 2021 - Online
- Unzippare un file da uno script ASP
- Inviare e-mail utilizzando IISMail
- Container & DevOps Day - Online