Vai al contenuto principale

Azure Functions: trigger, binding e hosting in parole semplici

Scopri cosa sono le Azure Functions, come abilitano applicazioni serverless event-driven e come trigger, binding, opzioni di hosting e workflow si incastrano tra loro.
Aggiornato 22 set 2026  · 7 min leggi

Esplora con l'AI

ChatGPTClaudePerplexity

Azure Functions fa parte del servizio di calcolo serverless di Microsoft. In poche parole, ti permette di eseguire piccoli frammenti di codice in risposta a eventi senza dover gestire tu stesso i server.

Per esempio, una function può essere eseguita quando arriva una richiesta HTTP, quando un file viene caricato in uno storage o quando scatta un orario programmato.

“Serverless” non significa necessariamente che non ci siano server. Significa che Azure gestisce l’infrastruttura per te. Azure si occupa del provisioning, dello scaling e della manutenzione dietro le quinte.

In questa guida ti mostrerò i mattoni fondamentali: trigger, binding, opzioni di hosting e un esempio pratico per iniziare.

Cosa sono le Azure Functions?

Una Azure Function è semplicemente un piccolo pezzo di codice che viene eseguito quando è attivato da un evento che scegli tu. Tu scrivi la logica e Azure si occupa del resto.

Questo modello si basa su tre idee.

  1. L’esecuzione event-driven permette al codice di girare solo quando accade qualcosa, non in continuazione.
  2. Lo scaling automatico consente ad Azure di aggiungere o rimuovere risorse di calcolo in base alla domanda.
  3. Il prezzo a consumo ti permette, in alcuni piani di hosting, di pagare solo per il tempo in cui il tuo codice è effettivamente in esecuzione.

Una singola function preferibilmente svolge un compito atomico, come ridimensionare un’immagine o elaborare un messaggio. Una Function App è il contenitore che ospita una o più function. Gestisce impostazioni condivise, come configurazione e deployment, per tutte le function al suo interno.

Come funzionano le Azure Functions

Il ciclo di vita di una function segue uno schema semplice come segue:

  1. Si verifica un evento, come un caricamento di file o una chiamata HTTP.
  2. Un trigger rileva l’evento e avvia immediatamente la function.
  3. La function esegue il suo codice.
  4. I binding collegano la function ad altri servizi che leggono l’input o inviano l’output necessario.
  5. Azure gestisce le risorse di calcolo che stanno dietro a questo processo, ovviamente in base al piano di hosting scelto.

Questo flusso è identico a prescindere dal linguaggio o dall’opzione di hosting (per la maggior parte dei passaggi, come detto). Cambiano solo il trigger, il codice e i binding.

Trigger di Azure Functions

Ogni function ha esattamente un trigger. Il trigger definisce come esattamente la function viene avviata. Ecco i tipi più comuni che dovresti conoscere:

  • Trigger HTTP: Esegue una function quando riceve una richiesta HTTP. È comune per costruire API.
  • Trigger Timer: Esegue una function secondo una pianificazione, ad esempio ogni ora o una volta al giorno.
  • Trigger Blob Storage: Esegue una function quando un file viene aggiunto o modificato in Azure Blob Storage.
  • Trigger Queue: Esegue una function quando arriva un nuovo messaggio in una coda.
  • Trigger Event Hub: Esegue una function in risposta a un flusso di eventi. È molto utile per grandi quantità di dati.

Binding di Azure Functions

Credo che trigger e binding vengano spesso confusi, ma anche se possono sembrare simili, svolgono ruoli del tutto diversi. Un trigger avvia una function, mentre un binding la collega ai dati leggendoli o inviandoli.

Binding di input

Qui, in sostanza, fornisci dati alla tua function senza scrivere codice di integrazione personalizzato. Per esempio, una function può leggere automaticamente un record da un database semplicemente dichiarando il binding.

Binding di output

Questo ti permette di inviare il risultato della tua function altrove. Per esempio, puoi usare i binding di output per scrivere un messaggio elaborato in una coda.

Ecco un esempio per chiarire: un trigger Blob Storage avvia una function quando viene caricata un’immagine. Un binding di output quindi salva l’immagine ridimensionata in un altro container di archiviazione. In questo modo non serve alcun codice manuale per il client di storage.

Come creare la tua prima Azure Function

Ecco un esempio di una semplicissima function con trigger HTTP che restituisce un saluto. Il flusso è questo:

  1. Crea una Function App. È il contenitore per la tua function in Azure.
  2. Scegli un runtime e seleziona il linguaggio in cui vuoi scrivere il codice.
  3. Crea la function per aggiungere una nuova function dentro la tua Function App.
  4. Seleziona il trigger HTTP per far rispondere la function alle richieste web.
  5. Aggiungi una funzionalità semplice, come leggere un nome dalla richiesta e restituire “Ciao, [nome].”
  6. Esegui e testa la function usando gli strumenti integrati di test o inviando una richiesta dal browser.
  7. Effettua il deploy su Azure così sarà attiva e raggiungibile.

Ho mantenuto questo esempio volutamente piccolo per mostrarti lo schema e lasciare che sia la tua creatività a fare il resto.

Linguaggi supportati da Azure Functions

Azure Functions supporta molti linguaggi, tra cui:

  • C#
  • JavaScript/TypeScript
  • Python
  • Java
  • PowerShell

Il supporto e i modelli di sviluppo possono variare a seconda del linguaggio e della versione. Per questo ti consiglio di consultare la documentazione di Azure aggiornata prima di iniziare un nuovo progetto, dato che questi dettagli cambiano spesso.

Opzioni di hosting per Azure Functions

Non tutte le Azure Function vengono eseguite allo stesso modo. Perciò Azure offre diversi piani di hosting, ognuno con compromessi diversi da valutare in base al tuo caso specifico. Questi compromessi riguardano:

  • Scalabilità: alcuni piani si scalano in automatico e istantaneamente, mentre altri richiedono un po’ più di controllo manuale.
  • Comportamento all’avvio: alcuni piani tengono le function “calde”, cioè pronte a partire all’istante, mentre altri avviano le function su richiesta.
  • Networking: alcuni piani supportano funzionalità di rete avanzate, come la connessione a una rete virtuale privata, altri no.
  • Costo: i modelli di prezzo variano molto, dal pay-per-execution a costi mensili fissi.

Scaling e cold start nelle Azure Functions

Ci sono altri due concetti importanti quando la tua function gira in produzione. Sono:

Scaling automatico

Qui Azure monitora il carico sulla tua function e, quando la domanda aumenta, aggiunge altre istanze di calcolo, mentre quando la domanda cala le rimuove. Non devi gestirlo manualmente.

Cold start

Se una function non è stata eseguita di recente, potrebbe aver bisogno di un attimo per avviarsi prima di gestire una nuova richiesta. Questo ritardo si chiama cold start. Alcuni piani di hosting lo riducono o lo evitano mantenendo l’istanza calda, come detto.

Casi d’uso comuni di Azure Functions

Il modello event-driven si adatta a molti problemi quotidiani che potresti incontrare. In particolare:

API e webhook

Per gestire richieste HTTP in ingresso senza dover eseguire un intero web server 24/7.

Elaborazione di file e immagini

Per attivare una function ogni volta che un file arriva nello storage, quindi ridimensionarlo, convertirlo o semplicemente analizzarlo.

Job pianificati

Per eseguire attività di pulizia, report o promemoria a timer senza bisogno di un server sempre attivo.

Pipeline di data processing

Per elaborare messaggi o eventi man mano che arrivano, un passo alla volta.

IoT ed elaborazione eventi

Per gestire grandi volumi di dati provenienti da sensori o dispositivi man mano che vengono trasmessi.

Attività in background

Per scaricare il lavoro lento o occasionale, come l’invio di email, in modo che non blocchi la tua applicazione principale.

Monitoraggio e troubleshooting di Azure Functions

Una volta che una function è live, ti serve visibilità su come sta performando.

Per esempio, puoi consultare i log che registrano cosa è successo durante ogni esecuzione, molto utili per il debug. Puoi anche usare Application Insights negli strumenti Azure, che in pratica traccia performance, richieste ed errori in un unico posto centrale.

Dovresti anche tracciare i fallimenti di invocazione per sapere quando e perché una function non è andata a buon fine. Il monitoraggio delle performance ti aiuta a individuare function lente prima che diventino un problema e, naturalmente, puoi configurare i tentativi di retry in modo che le esecuzioni fallite vengano ritentate automaticamente.

Conclusione

Azure Functions ti permette di eseguire codice in risposta a eventi, senza dover gestire i server sottostanti. I trigger decidono quando una function parte. I binding, invece, semplificano il collegamento di quella function ad altri servizi senza codice di integrazione extra.

Quando passi da una semplice function di test a qualcosa che gira in produzione, le scelte di hosting e scaling contano molto di più. Il piano giusto non incide solo sui costi, ma anche su velocità e affidabilità.


Iheb Gafsi's photo
Author
Iheb Gafsi
LinkedIn

Lavoro su sistemi di IA accelerata che abilitano l'intelligenza all'edge con pipeline di ML federate su dati decentralizzati e carichi di lavoro distribuiti.  Il mio lavoro si concentra su Large Models, Elaborazione del Parlato, Computer Vision, Reinforcement Learning e topologie ML avanzate.

FAQ

Che cosa sono le Azure Functions?

Un servizio serverless che esegue piccoli frammenti di codice in risposta a eventi, senza che tu debba gestire i server.

Cosa attiva una Azure Function?

Eventi come richieste HTTP, timer, caricamenti di file o messaggi in coda.

Qual è la differenza tra trigger e binding?

Un trigger avvia la function. Un binding la collega ad altri servizi per input o output.

Che cos’è un cold start?

Un breve ritardo quando una function si avvia dopo essere rimasta inattiva.

Quali linguaggi supporta Azure Functions?

C#, JavaScript/TypeScript, Python, Java e PowerShell.

Argomenti
Azure

Impara Azure con DataCamp

Corso

Capire Microsoft Azure

3 h
50K
Scopri quanto sono potenti Microsoft Azure e il software di cloud computing per aiutarti a migliorare le tue abilità nell'ingegneria dei dati.
Vedi dettagliRight Arrow
Inizia Il Corso
Mostra altroRight Arrow