Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Azure Event Grid ermöglicht Es Ihren Message Queuing Telemetry Transport (MQTT)-Clients, miteinander und mit Azure-Diensten zu kommunizieren, um Ihre IoT-Lösungen (Internet of Things) zu unterstützen. Sie können das Event Grid MQTT-Broker-Feature verwenden, um die folgenden Szenarien auszuführen. Codebeispiele, die diese Szenarien veranschaulichen, finden Sie in diesem Repository.
- Erfassung der Telemetrie mithilfe eines n:1-Nachrichtenmusters. Dieses Muster ermöglicht es der Anwendung, den Aufwand für die Verwaltung einer hohen Anzahl von Verbindungen mit Geräten an Event Grid auszulagern.
- Steuern Sie Ihre MQTT-Clients mithilfe des Anforderungsantwortmusters (1:1). Dieses Muster ermöglicht es jedem Client, unabhängig von den Rollen der Clients ohne Einschränkungen mit jedem anderen Client zu kommunizieren.
- Übertragen Von Warnungen an eine Flotte von Clients mithilfe des 1:n-Nachrichtenmusters. Dieses Muster ermöglicht es der Anwendung, nur eine Nachricht zu veröffentlichen, die der Dienst für jeden interessierten Client repliziert.
- Integrieren Sie Daten von Ihren MQTT-Clients, indem Sie MQTT-Nachrichten an Azure-Dienste und Webhooks über die HTTP-Pushübermittlungsfunktion weiterleiten. Sie können diese Integration in Azure-Dienste verwenden, um Datenpipelinen zu erstellen, die mit der Datenaufnahme von Ihren IoT-Geräten beginnen.
Der MQTT-Broker eignet sich ideal für die Implementierung von Automobil-, Mobilitäts- und Fertigungsszenarien unter anderem. Informationen zum Erstellen sicherer und skalierbarer Lösungen für die Verbindung von Millionen von MQTT-Clients mit der Cloud mithilfe der Azure-Messaging- und Data Analytics-Dienste finden Sie in den Referenzarchitekturen für Automobil - und Fertigung .
Wichtige Begriffe
Die folgenden Schlüsselkonzepte sind an der Event Grid MQTT-Brokerfunktion beteiligt.
MQTT
MQTT ist ein Veröffentlichungs-Abonnement-Messagingtransportprotokoll, das für eingeschränkte Umgebungen entwickelt wurde. Es ist ein beliebter Kommunikationsstandard für IoT-Szenarien aufgrund von Effizienz, Skalierbarkeit und Zuverlässigkeit. Mit dem MQTT-Broker können Kunden Nachrichten über MQTT v3.1.1, MQTT v3.1.1 über WebSocket, MQTT v5 und MQTT v5 über WebSocket veröffentlichen und abonnieren. Die folgende Liste zeigt einige der Feature-Highlights des MQTT-Brokers:
MQTT v5-Features:
- Last Will and Testament: Benachrichtigt Ihre MQTT-Kunden über die abrupten Trennungen anderer MQTT-Clients. Sie können dieses Feature verwenden, um einen vorhersehbaren und zuverlässigen Flow der Kommunikation zwischen MQTT-Clients bei unerwarteten Verbindungsunterbrechungen zu gewährleisten.
- Benutzereigenschaften: Ermöglicht das Hinzufügen von benutzerdefinierten Schlüssel-Wert-Paaren im Nachrichtenkopf, um mehr Kontext zu der Nachricht bereitzustellen. Geben Sie beispielsweise den Zweck oder den Ursprung der Nachricht ein, damit der Empfänger die Nachricht effizient verarbeiten kann.
- Anforderungsantwortmuster: Ermöglicht Es Ihren Clients, das asynchrone Standardmuster für die Anforderungsantwort zu nutzen und dabei das Antwortthema und die Korrelations-ID in der Anforderung anzugeben, dass der Client ohne vorherige Konfiguration antworten kann.
- Ablaufintervall der Nachricht: Ermöglicht Es Ihnen, den MQTT-Broker zu deklarieren, wenn Sie eine Nachricht ignorieren, die nicht mehr relevant oder gültig ist. Beispiele sind das Ignorieren veralteter Befehle oder Warnungen.
- Themenaliasen: Hilft Ihren Kunden, die Größe des Themenfelds zu verringern, wodurch die Datenübertragung kostengünstiger wird.
- Maximale Nachrichtengröße: Ermöglicht Es Ihren Clients, die maximale Nachrichtengröße zu steuern, die sie vom Server verarbeiten können.
- Empfangen sie maximal: Ermöglicht Ihren Clients, die Nachrichtenrate abhängig von ihren Funktionen zu steuern, z. B. Verarbeitungsgeschwindigkeit oder Speicherfunktionen.
- Sauberer Start- und Sitzungsablauf: Ermöglicht Es Ihren Clients, die Zuverlässigkeit und Sicherheit der Sitzung zu optimieren, indem die Abonnementinformationen und Nachrichten des Clients für ein konfigurierbares Zeitintervall beibehalten werden.
- Negative Bestätigungen: Ermöglicht Ihren Clients, effizient auf verschiedene Fehlercodes zu reagieren.
- Servergesendete Trennpakete: Ermöglicht Ihren Clients die effiziente Verarbeitung von Getrennten.
- MQTT-Aufbewahrung: Stellt sicher, dass der Broker die letzte veröffentlichte Nachricht zu einem Thema speichert und automatisch an alle neuen Abonnenten übermittelt. Mit diesem Feature können Geräte sofort den neuesten bekannten Zustand erhalten, ohne auf das nächste Update warten zu müssen. Diese Funktion ermöglicht eine schnellere und zuverlässigere Zustandssynchronisierung über IoT-Systeme hinweg.
Features von MQTT v3.1.1:
- Last Will and Testament: Benachrichtigt Ihre MQTT-Kunden über die abrupten Trennungen anderer MQTT-Clients. Sie können dieses Feature verwenden, um einen vorhersehbaren und zuverlässigen Flow der Kommunikation zwischen MQTT-Clients bei unerwarteten Verbindungsunterbrechungen zu gewährleisten.
- Persistente Sitzungen: Stellt zuverlässigkeit sicher, indem die Abonnementinformationen und Nachrichten des Clients beibehalten werden, wenn ein Client die Verbindung trennt.
- Quality of Service (QoS) 0 und 1: Bietet Ihren Kunden die Kontrolle über die Effizienz und Zuverlässigkeit der Kommunikation.
- MQTT-Aufbewahrung: Stellt sicher, dass der Broker die letzte veröffentlichte Nachricht zu einem Thema speichert und automatisch an alle neuen Abonnenten übermittelt. Mit diesem Feature können Geräte sofort den neuesten bekannten Zustand erhalten, ohne auf das nächste Update warten zu müssen. Diese Funktion ermöglicht eine schnellere und zuverlässigere Zustandssynchronisierung über IoT-Systeme hinweg.
In den folgenden Abschnitten werden die aktuellen Unterschiede zwischen features beschrieben, die vom MQTT-Broker und den MQTT v5-Spezifikationen unterstützt werden. QoS 2 wird nicht unterstützt.
Erfahren Sie mehr über den MQTT-Broker und aktuelle Einschränkungen.
Messagingmodell für Veröffentlichungsabonnent
Das Veröffentlichen/Abonnieren-Messagingmodell bietet skalierbare und asynchrone Kommunikation mit Clients. Dadurch können Clients den Aufwand für die Verarbeitung einer hohen Anzahl von Verbindungen und Nachrichten an den Dienst auslagern. Über das Veröffentlichungsabonnent-Messaging-Modell können Ihre Clients effizient kommunizieren, indem sie 1:n-, 1:1- und 1:1-Messagingmuster verwenden:
- 1:n: Ermöglicht Clients, nur eine Nachricht zu veröffentlichen, die der Dienst für jeden interessierten Client repliziert.
- n:1: Ermöglicht es Kunden, die Hohe Anzahl von Verbindungen mit dem MQTT-Broker zu entladen.
- 1:1: Ermöglicht es jedem Client, unabhängig von den Rollen der Clients mit einem anderen Client ohne Einschränkungen zu kommunizieren.
Namespace
Ein Event Grid-Namespace ist ein Verwaltungscontainer für die Ressourcen, die die MQTT-Brokerfunktionalität unterstützen, sowie die Ressourcen, die die Pull-Übermittlungsfunktionalität unterstützen. Ihr MQTT-Client kann eine Verbindung mit dem MQTT-Broker herstellen und Nachrichten veröffentlichen. Der MQTT-Broker authentifiziert Ihre Kunden, autorisiert Veröffentlichungsabonnentanfragen und leitet Nachrichten an interessierte Kunden weiter. Erfahren Sie mehr über das Namespacekonzept.
Kunden
Clients beziehen sich auf IoT-Geräte oder -Anwendungen, die MQTT-Nachrichten veröffentlichen und abonnieren.
IoT-Geräte sind physische Objekte, die mit dem Internet verbunden sind, um Telemetriedaten zu übertragen und Befehle zu empfangen. Diese Geräte sind Sensoren, Geräte, Maschinen oder andere Objekte, die mit eingebetteten Sensoren und Software ausgestattet sind. Die Sensoren und sie Software ermöglichen es ihnen, miteinander und mit der jeweiligen Umgebung zu kommunizieren und zu interagieren. Der Wert von IoT-Geräten liegt in der Fähigkeit, Echtzeitdaten und Erkenntnisse bereitzustellen, mit denen Unternehmen und Einzelpersonen fundierte Entscheidungen treffen und Effizienz und Produktivität verbessern können.
IoT-Anwendungen stellen Software dar, die für die Interaktion mit und Verarbeitung von Daten von IoT-Geräten entwickelt wurde. Dies umfasst in der Regel Komponenten wie Datenerfassung, -verarbeitung, -speicherung, -visualisierung und -analyse. Mit diesen Anwendungen können Benutzer verbundene Geräte überwachen und steuern, Aufgaben automatisieren und Erkenntnisse aus den von IoT-Geräten generierten Daten gewinnen.
Clientauthentifizierung
Event Grid verfügt über eine Clientregistrierung, die Informationen zu den Clients speichert, die eine Verbindung mit ihr herstellen dürfen. Bevor ein Client eine Verbindung herstellen kann, muss in der Clientregistrierung ein Eintrag für diesen Client vorhanden sein. Da ein Client eine Verbindung mit dem MQTT-Broker herstellt, muss er sich basierend auf in der Identitätsregistrierung gespeicherten Anmeldeinformationen beim MQTT-Broker authentifizieren. Der MQTT-Broker unterstützt die folgenden Clientauthentifizierungsmechanismen:
- Die X.509-Zertifikatauthentifizierung ist der Branchenauthentifizierungsstandard auf IoT-Geräten.
- Die Microsoft Entra ID-Authentifizierung ist der Azure-Authentifizierungsstandard für Anwendungen. Erfahren Sie mehr über die MQTT-Clientauthentifizierung.
- Flexible Authentifizierungen:
- Die OAuth 2.0 JSON-Webtokenauthentifizierung (JWT) bietet eine einfache, sichere und flexible Option für MQTT-Clients, die nicht in Azure bereitgestellt werden.
- Die benutzerdefinierte Webhook-Authentifizierung ermöglicht es externen HTTP-Endpunkten (Webhooks), MQTT-Verbindungen dynamisch zu authentifizieren. Es verwendet die Microsoft Entra ID JWT-Überprüfung, um sicheren Zugriff sicherzustellen.
Zugriffssteuerung
Zugriffssteuerung ist für IoT-Szenarien angesichts des enormen Umfangs von IoT-Umgebungen und der einzigartigen Sicherheitsanforderungen eingeschränkter Geräte von entscheidender Bedeutung. Event Grid bietet rollenbasierte Zugriffssteuerung über ein flexibles Zugriffssteuerungsmodell, mit dem Sie die Autorisierung von Clients zum Veröffentlichen oder Abonnieren von Themen verwalten können.
Mit der enormen Skalierung von IoT-Umgebungen ist die Zuweisung von Berechtigungen für jeden Client zu jedem Thema unglaublich mühsam. Mit der flexiblen Zugriffssteuerung von Event Grid wird diese Skalierungsaufforderung durch Gruppieren von Clients und Themen in Clientgruppen und Themenbereichen in Angriff genommen. Nachdem Sie Clientgruppen und Themenräume erstellt haben, können Sie eine Berechtigungsbindung konfigurieren, um zugriff auf eine Clientgruppe zu gewähren, um entweder einen Themenbereich zu veröffentlichen oder zu abonnieren.
Themenbereiche bieten auch präzise Zugriffssteuerung, indem Sie die Autorisierung jedes Clients innerhalb einer Clientgruppe steuern können, um ein eigenes Thema zu veröffentlichen oder zu abonnieren. Diese differenzierte Zugriffssteuerung wird durch die Verwendung von Variablen in Themenvorlagen erreicht. Weitere Informationen zur Zugriffssteuerung.
Routenplanung
Mit Event Grid können Sie Ihre MQTT-Nachrichten zur weiteren Verarbeitung an Azure-Dienste oder Webhooks weiterleiten. Dementsprechend können Sie End-to-End-Lösungen erstellen, indem Sie Ihre IoT-Daten unter anderem für Datenanalysen, Speicherung und Visualisierungen verwenden. Mithilfe der Routingkonfiguration können Sie alle MQTT-Nachrichten von Ihren Clients an ein Event Grid-Namespacethema oder ein benutzerdefiniertes Ereignisraster-Thema senden. Nachdem sich die Nachrichten im Thema befinden, können Sie ein Ereignisabonnement konfigurieren, um die Nachrichten aus dem Thema zu nutzen. Mit dieser Funktionalität können Sie beispielsweise mithilfe des Ereignisrasters Telemetrie von Ihren IoT-Geräten an Event Hubs und dann an Azure Stream Analytics weiterleiten, um Erkenntnisse aus Ihrer Gerätetelemetrie zu erhalten. Weitere Informationen zum Routing.
MQTT-Ereignisse für Microsoft Fabric Eventstreams (Vorschau)
Leiten Sie MQTT-Nachrichten und Cloudereignisse von einem Event Grid-Namespace an Microsoft Fabric Eventstreams für Echtzeitanalysen, Speicher und Visualisierung von IoT-Daten weiter.
Integration des Edge-MQTT-Brokers
Event Grid ist in Azure IoT Operations integriert, um seine MQTT-Brokerfunktion am Rand mit dem Event Grid MQTT-Broker-Feature in der Cloud zu überbrücken. Azure IoT Operations bietet einen neuen verteilten MQTT-Broker für Edge Computing, der auf Azure Arc-fähigen Kubernetes-Clustern ausgeführt wird. Sie kann eine Verbindung mit dem Event Grid MQTT-Broker mit der Microsoft Entra ID-Authentifizierung herstellen, indem die vom System zugewiesene verwaltete Identität verwendet wird, wodurch die Verwaltung von Anmeldeinformationen vereinfacht wird. Der MQTT-Broker bietet hohe Verfügbarkeit, Skalierbarkeit und Sicherheit für Ihre IoT-Geräte und -Anwendungen. Erfahren Sie mehr über das Verbinden des Azure IoT Operations MQTT-Brokers mit dem Event Grid MQTT-Broker.
MQTT-Clientlebenszyklusereignisse
Clientlebenszyklusereignisse ermöglichen Es Anwendungen, auf Ereignisse über den Clientverbindungsstatus oder die Clientressourcenvorgänge zu reagieren. Sie können den Verbindungsstatus Ihres Clients nachverfolgen, mit einer Entschärfungsaktion für Die Clientverbindung reagieren und den Namespace nachverfolgen, an den Ihre Clients während automatisierter Failovers angefügt sind. Erfahren Sie mehr über MQTT-Clientlebenszyklusereignisse.
Benutzerdefinierte Domänennamen
Mit der Unterstützung für benutzerdefinierte Domänennamen können Benutzer ihre eigenen Domänennamen den MQTT- und HTTP-Endpunkten des Event Grid-Namespace zuweisen, wodurch die Sicherheit verbessert und die Clientkonfiguration vereinfacht wird. Dieses Feature hilft Unternehmen dabei, ihre Sicherheits- und Complianceanforderungen zu erfüllen und die Notwendigkeit zu vermeiden, bereits mit der Domäne verknüpfte Clients zu ändern. Das Zuweisen eines benutzerdefinierten Domänennamens zu mehreren Namespaces kann auch dazu beitragen, die Verfügbarkeit zu verbessern, Kapazität zu verwalten und die regionsübergreifende Clientmobilität zu behandeln. Weitere Informationen zu benutzerdefinierten Domänennamen.
MQTT Retain (Vorschau)
Eine gespeicherte MQTT-Nachricht wird verwendet, um den letzten bekannten guten Wert eines Themas auf dem Broker zu speichern, um sicherzustellen, dass neue Abonnenten sofort die neueste Nachricht erhalten, ohne auf die nächste Veröffentlichung zu warten. Diese Funktion ist besonders nützlich in Szenarien wie Gerätezustandsberichte, Steuerungssignale oder Konfigurationsdaten, in denen die neueste Nachricht immer für Clients bei der Verbindung verfügbar sein muss. Weitere Informationen finden Sie unter MQTT Retain Support in Azure Event Grid.
HTTP-Veröffentlichung (Vorschau)
HTTP Publish ermöglicht Es Anwendungen, MQTT-Nachrichten über eine einfache HTTPS-Anforderung POST an den Event Grid MQTT-Broker zu veröffentlichen, ohne eine aktive MQTT-Sitzung aufrechtzuerhalten. Es eignet sich am besten für Szenarien, in denen MQTT-Clients nicht machbar oder erforderlich sind, z. B. serverlose Funktionen, Clouddienste oder Back-End-Anwendungen. HTTP Publish ermöglicht ereignisgesteuerte Architekturen, MQTT-Nachrichten zuverlässig und sicher einzujizieren. Häufige Anwendungsfälle sind das Veröffentlichen von Gerätebefehlen, Warnungen oder Steuerungssignalen aus Azure-Funktionen, Azure Logic Apps oder API-Integrationen. Weitere Informationen finden Sie unter HTTP-Veröffentlichung von MQTT-Nachrichten in Azure Event Grid.
Konzepte
Erfahren Sie mehr über Konzepte des MQTT-Brokers in Event Grid:
- Terminologie
- Clientauthentifizierung
- Zugriffssteuerung
- MQTT-Protokollunterstützung
- Weiterleiten von MQTT-Nachrichten
- MQTT-Clientlebenszyklusereignisse
Zugehöriger Inhalt
Erfahren Sie mehr über den MQTT-Broker und seine Hauptkonzepte: