Che cos'è Griglia di eventi di Azure?

Griglia di eventi di Azure è un servizio di distribuzione dei messaggi pubblicazione-sottoscrizione altamente scalabile e completamente gestito che offre criteri di utilizzo dei messaggi flessibili tramite i protocolli MQTT e HTTP. Con Griglia di eventi di Azure è possibile creare pipeline di dati con dati del dispositivo, integrare applicazioni e creare architetture serverless guidate dagli eventi.

Griglia di eventi consente ai client di pubblicare e sottoscrivere messaggi tramite i protocolli MQTT v3.1.1 e v5.0 per supportare soluzioni Internet delle cose (IoT). Tramite HTTP, Griglia di eventi consente di creare soluzioni guidate dagli eventi in cui un servizio di pubblicazione annuncia le modifiche dello stato del sistema (eventi) alle applicazioni sottoscrittori. È possibile configurare Griglia di eventi per inviare eventi ai sottoscrittori (recapito push) o i sottoscrittori possono connettersi a Griglia di eventi per leggere gli eventi (recapito pull). Griglia di eventi supporta la specifica CloudEvents 1.0 per garantire l'interoperabilità tra sistemi.

Diagramma di alto livello di Griglia di eventi che illustra editori e sottoscrittori che usano protocolli MQTT e HTTP.

Funzionalità di base

Ecco le due funzionalità principali di Griglia di eventi di Azure:

Messaggistica MQTT. I dispositivi e le applicazioni IoT possono comunicare tra loro tramite MQTT. Griglia di eventi può essere usata anche per instradare messaggi MQTT ai servizi di Azure o agli endpoint personalizzati per ulteriori analisi, visualizzazione o archiviazione dei dati. Questa integrazione con i servizi di Azure consente di creare pipeline di dati che iniziano con l'inserimento dati da dispositivi IoT.

Distribuzione dei dati usando le modalità di recapito push e pull. In qualsiasi momento in una pipeline di dati, le applicazioni HTTP possono usare messaggi tramite API push o pull. L'origine dei dati può includere i dati dei client MQTT, ma include anche le origini dati seguenti che inviano gli eventi tramite HTTP:

  • Servizi di Azure
  • Applicazioni personalizzate
  • Sistemi di partner esterni (SaaS)

Il meccanismo di recapito push di Griglia di eventi invia i dati alle destinazioni che includono webhook di applicazioni e servizi di Azure. Verranno ora esaminate in dettaglio queste due funzionalità:

Messaggistica MQTT

Griglia di eventi consente ai client di comunicare con nomi di argomenti MQTT personalizzati usando un modello di messaggistica pubblicazione-sottoscrizione. Griglia di eventi supporta client che pubblicano e sottoscrivono messaggi tramite MQTT v3.1.1, MQTT v3.1.1 tramite WebSockets, MQTT v5 e MQTT v5 tramite WebSockets. Griglia di eventi consente di inviare messaggi MQTT al cloud per l'analisi dei dati, l'archiviazione e le visualizzazioni, tra gli altri casi d'uso.

Griglia di eventi si integra con Le operazioni IoT di Azure per collegare la funzionalità broker MQTT sul perimetro con la funzionalità broker MQTT di Griglia di eventi nel cloud. Broker MQTT di Azure IoT è un nuovo broker MQTT distribuito per il calcolo perimetrale, in esecuzione nei cluster Kubernetes abilitati per Arc. È ora disponibile in anteprima pubblica come parte di Operazioni di Azure IoT.

La funzionalità del broker MQTT in Griglia di eventi di Azure è ideale per l'implementazione di scenari del settore automobilistico e della mobilità, tra gli altri. Vedere l'architettura di riferimento per scoprire come creare soluzioni sicure e scalabili per connettere milioni di veicoli al cloud usando i servizi di messaggistica e analisi dei dati di Azure.

Diagramma di alto livello di Griglia di eventi che illustra la comunicazione MQTT bidirezionale con i client di editori e sottoscrittori.

Ecco alcuni punti salienti del supporto per la messaggistica MQTT in Griglia di eventi di Azure:

  • Supporto di MQTT v3.1.1 e MQTT v5.0: usare qualsiasi libreria client MQTT open source per comunicare con il servizio.
  • Argomenti personalizzati con supporto di caratteri jolly: usare una struttura di argomenti personalizzata.
  • Modello di messaggistica pubblicazione-sottoscrizione: comunicare in modo efficiente usando criteri di messaggistica uno-a-molti, molti-a-uno e uno-a-uno.
  • Integrazione cloud predefinita: instradare messaggi MQTT ai servizi di Azure o ai webhook personalizzati per un'ulteriore elaborazione.
  • Modello di controllo degli accessi flessibile e granulare: raggruppare i client e l'argomento per semplificare la gestione del controllo di accesso e usare il supporto delle variabili nei modelli di argomento per un controllo di accesso con granularità fine.
  • Metodi di autenticazione broker MQTT: l'autenticazione del certificato X.509 è lo standard di autenticazione del settore nei dispositivi IoT, Microsoft Entra IDauthentication è lo standard di autenticazione di Azure per le applicazioni e l'autenticazione OAuth 2.0 (token Web JSON) offre un'opzione leggera, sicura e flessibile per i client MQTT di cui non è stato effettuato il provisioning in Azure.
  • Supporto di Transport Layer Security (TLS) 1.2 e TLS 1.3: proteggere le comunicazioni client usando protocolli di crittografia affidabili.
  • Supporto multisessione: connettere le applicazioni con più sessioni attive per garantire affidabilità e scalabilità.
  • MQTT tramite WebSockets: abilitare la connettività per i client in ambienti con restrizioni del firewall.
  • Nomi di dominio personalizzati: consente agli utenti di assegnare i propri nomi di dominio agli endpoint MQTT dello spazio dei nomi di Griglia di eventi, migliorando la sicurezza e semplificando la configurazione client.
  • Eventi del ciclo di vita dei client: consentono alle applicazioni di reagire agli eventi relativi allo stato della connessione client o alle operazioni delle risorse client.

Per altre informazioni sul broker MQTT, vedere gli articoli seguenti:

Messaggistica di eventi (HTTP)

Griglia di eventi supporta il recapito di eventi push e pull tramite HTTP. Con il recapito push si definisce una destinazione in una sottoscrizione di eventi a cui Griglia di eventi invia gli eventi. Con il recapito pull, le applicazioni sottoscrittori si connettono a Griglia di eventi per utilizzare gli eventi. Il recapito pull è supportato per gli argomenti in uno spazio dei nomi di Griglia di eventi.

Diagramma generale che mostra il recapito push e il recapito pull con il tipo di risorse coinvolte.

Gestori eventi

Nel recapito push, una sottoscrizione di eventi è una risorsa di configurazione generica che consente di definire il gestore eventi o la destinazione a cui vengono inviati eventi tramite il recapito push. Ad esempio, è possibile inviare dati a un webhook, Funzioni di Azure o a Hub eventi. Per un elenco completo dei gestori eventi supportati, vedere:

  • Gestori eventi supportati negli argomenti dello spazio dei nomi.
  • Gestori eventi supportati negli argomenti personalizzati, di sistema, di dominio e dei partner.

Recapito push e recapito pull

Di seguito sono riportate linee guida generali che consentono di decidere quando usare il recapito pull o push.

Recapito pull

  • È necessario il controllo completo su quando ricevere gli eventi. Ad esempio, l'applicazione potrebbe non essere sempre aggiornata, non abbastanza stabile o elaborare i dati in determinati momenti.
  • È necessario il controllo completo sull'utilizzo degli eventi. Ad esempio, un servizio downstream o un livello nell'applicazione consumer presenta un problema che impedisce l'elaborazione di eventi. In tal caso, l'API di recapito pull consente all'app consumer di rilasciare un evento già letto al broker in modo che possa essere recapitato in un secondo momento.
  • Si vogliono usare collegamenti privati quando si ricevono eventi, che è possibile solo con il recapito pull, non con il recapito push.
  • Non è possibile esporre un endpoint e usare il recapito push, ma è possibile connettersi a Griglia di eventi per utilizzare gli eventi.

Recapito push

  • Si vuole evitare il polling costante per determinare che si è verificata una modifica dello stato del sistema. È invece possibile usare Griglia di eventi per inviare eventi al momento in cui si verificano modifiche dello stato.
  • Si dispone di un'applicazione che non può effettuare chiamate in uscita. Ad esempio, l'organizzazione potrebbe preoccuparsi dell'esfiltrazione dei dati. Tuttavia, l'applicazione può ricevere eventi tramite un endpoint pubblico.

Ecco alcuni punti salienti del modello HTTP:

  • Modello di utilizzo di eventi flessibile: quando si usa HTTP, usare gli eventi tramite modalità di recapito pull o push.
  • Eventi di sistema: iniziare rapidamente a usare gli eventi dei servizi di Azure predefiniti.
  • Eventi dell’applicazione personalizzati: usare Griglia di eventi per instradare, filtrare e recapitare in modo affidabile gli eventi personalizzati dall'app.
  • Eventi di partner: sottoscrivere gli eventi del provider SaaS partner ed elaborarli in Azure.
  • Filtro avanzato: filtrare in base al tipo di evento o ad altri attributi degli eventi per accertarsi che i gestori di eventi o le app consumer ricevano solo eventi rilevanti.
  • Affidabilità: il recapito push è caratterizzato da un meccanismo di ripetizione tentativi di 24 ore con backoff esponenziale per accertarsi che gli eventi vengano recapitati. Se si usa il recapito pull, l'applicazione ha il controllo completo sull'utilizzo degli eventi.
  • Alta velocità effettiva: creare soluzioni integrate a volumi elevati con Griglia di eventi.
  • Nomi di dominio personalizzati: consente agli utenti di assegnare i propri nomi di dominio agli endpoint HTTP dello spazio dei nomi di Griglia di eventi, migliorando la sicurezza e semplificando la configurazione client.

Per altre informazioni, vedere gli articoli seguenti:

Casi d'uso

Per un elenco dei casi d'uso in cui è possibile usare Griglia di eventi di Azure, vedere Casi d'uso

Aree geografiche supportate

Ecco l'elenco delle aree in cui sono disponibili le nuove funzionalità del broker MQTT e degli argomenti dello spazio dei nomi:

Paese Paese Paese Paese
Australia orientale Australia sud-orientale Australia centrale Australia centrale 2
Brasile meridionale Brasile meridionale Canada centrale Canada orientale
India centrale Stati Uniti centrali Asia orientale Stati Uniti orientali
Stati Uniti orientali 2 Stati Uniti occidentali Francia centrale Francia meridionale
Germania settentrionale Germania centro-occidentale Israele centrale Italia settentrionale
Giappone orientale Giappone occidentale Corea centrale Corea meridionale
Messico centrale Stati Uniti centro-settentrionali Europa settentrionale Norvegia orientale
Polonia Centrale Sudafrica occidentale Sudafrica settentrionale Stati Uniti centro-meridionali
India meridionale Asia sud-orientale Spagna centrale Svezia centrale
Svezia meridionale Svizzera settentrionale Svizzera occidentale Emirati Arabi Uniti settentrionali
Emirati Arabi Uniti centrali Regno Unito meridionale Regno Unito occidentale Europa occidentale
West US 2 Stati Uniti occidentali 3 Stati Uniti centro-occidentali