App in tempo reale con Servizio Azure SignalR e Funzioni di Azure
I servizi Azure SignalR combinati con Funzioni di Azure consentono di eseguire app Web di messaggistica in tempo reale in un ambiente serverless. Questo articolo offre una panoramica del funzionamento dei servizi.
Il Servizio Azure SignalR e Funzioni di Azure sono entrambi servizi completamente gestiti e altamente scalabili. Consentono di concentrarsi sulla creazione di applicazioni anziché sulla gestione dell'infrastruttura. È comune usare i due servizi insieme per fornire comunicazioni in tempo reale in un ambiente serverless.
Integrare le comunicazioni in tempo reale con i servizi di Azure
Il servizio Funzioni di Azure consente di scrivere codice in diversi linguaggi, tra cui JavaScript, Python, C# e Java, che si attiva ogni volta che si verificano eventi nel cloud. Esempi di questi eventi:
- Richieste dei webhook e HTTP
- Timer periodici
- Eventi dei servizi di Azure, ad esempio:
- Griglia di eventi
- Hub eventi di
- Bus di servizio
- Feed di modifiche di Azure Cosmos DB
- BLOB e code di archiviazione
- Connettori di App per la logica, ad esempio Salesforce e SQL Server
Usando Funzioni di Azure per integrare questi eventi con il servizio Azure SignalR, si ha la possibilità di inviare una notifica a migliaia di client ogni volta che si verificano eventi.
Alcuni scenari comuni per la messaggistica serverless in tempo reale implementabili con Funzioni di Azure e il servizio SignalR includono:
- Visualizzare i dati di telemetria dei dispositivi IoT su una mappa o un dashboard in tempo reale.
- Aggiornare i dati in un'applicazione quando i documenti vengono aggiornati in Azure Cosmos DB.
- Inviare notifiche in-app quando nuovi ordini vengono creati in Salesforce.
Associazioni del servizio SignalR per Funzioni di Azure
Le associazioni del servizio SignalR per Funzioni di Azure consentono a un'app di Funzioni di Azure di pubblicare i messaggi ai client connessi al servizio SignalR. I client possono connettersi al servizio usando un client SDK di SignalR che è disponibile in .NET, JavaScript e Java e in altri linguaggi presto disponibili.
Scenario di esempio
L'uso di Funzioni di Azure per l'integrazione con Azure Cosmos DB è un esempio dell'uso delle associazioni del servizio SignalR per inviare messaggi in tempo reale quando vengono visualizzati nuovi eventi in un feed di modifiche di Azure Cosmos DB.
- Viene apportata una modifica in una raccolta di Azure Cosmos DB.
- L'evento di modifica viene propagato al feed di modifiche di Azure Cosmos DB.
- Il trigger di Azure Cosmos DB attiva una funzione di Azure in risposta all'evento di modifica.
- L'associazione di output per il servizio SignalR pubblica un messaggio per il servizio SignalR.
- Il servizio SignalR pubblica il messaggio per tutti i client connessi.
Autenticazione e utenti
Il servizio SignalR consente di trasmettere messaggi a tutti i client o a un sottoinsieme di client, ad esempio quelli che appartengono a un singolo utente. È possibile combinare le associazioni del servizio SignalR per Funzioni di Azure con l'autenticazione del servizio app per autenticare gli utenti con provider come Microsoft Entra ID, Facebook e X. È quindi possibile inviare messaggi direttamente a questi utenti autenticati.
Passaggi successivi
Per informazioni dettagliate su come usare Funzioni di Azure e il servizio SignalR insieme, vedere le risorse seguenti:
- Sviluppo e configurazione di Funzioni di Azure e con il Servizio SignalR
- Abilitare gli aggiornamenti automatici in un'App Web con Funzioni di Azure e il Servizio SignalR
Per provare le associazioni del servizio SignalR per Funzioni di Azure, vedere: