App in tempo reale con Servizio Azure SignalR e Funzioni di Azure

Servizio Azure SignalR combinati con Funzioni di Azure consente di eseguire app Web di messaggistica in tempo reale in un ambiente serverless. Questo articolo offre una panoramica del funzionamento dei servizi.

Servizio Azure SignalR e Funzioni di Azure sono entrambi servizi completamente gestiti e altamente scalabili che 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
    • Archiviazione BLOB e code
    • 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 in un dashboard o una mappa in tempo reale.
  • Aggiornare i dati in un'applicazione quando i documenti vengono aggiornati in Azure Cosmos DB.
  • Inviare notifiche in-app quando vengono creati nuovi ordini 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

Un esempio di come usare le associazioni di Servizio SignalR consiste nell'usare Funzioni di Azure per l'integrazione con Azure Cosmos DB e Servizio SignalR per inviare messaggi in tempo reale quando vengono visualizzati nuovi eventi in un feed di modifiche di Azure Cosmos DB.

Azure Cosmos DB, Azure Functions, SignalR Service

  1. Viene apportata una modifica in una raccolta di Azure Cosmos DB.
  2. L'evento di modifica viene propagato al feed di modifiche di Azure Cosmos DB.
  3. Un Funzioni di Azure viene attivato dall'evento di modifica usando il trigger di Azure Cosmos DB.
  4. L'associazione di output Servizio SignalR pubblica un messaggio in Servizio SignalR.
  5. Il Servizio SignalR pubblica il messaggio in tutti i client connessi.

Autenticazione e utenti

Servizio SignalR consente di trasmettere messaggi a tutti o a un subset di client, ad esempio quelli appartenenti a un singolo utente. È possibile combinare le associazioni Servizio SignalR per Funzioni di Azure con l'autenticazione servizio app per autenticare gli utenti con provider come Microsoft Entra ID, Facebook e Twitter. È quindi possibile inviare messaggi direttamente a questi utenti autenticati.

Passaggi successivi

Per informazioni dettagliate su come usare Funzioni di Azure e Servizio SignalR insieme, visitare le risorse seguenti:

Per provare le associazioni Servizio SignalR per Funzioni di Azure, vedere: