Konfigurieren von MQTT-Dataflowendpunkten
Wichtig
Diese Seite enthält Anweisungen zum Verwalten der Komponenten von Azure IoT Einsatz mithilfe von Kubernetes-Bereitstellungsmanifesten. Diese Option befindet sich in der Vorschau. Dieses Feature wird mit einigen Einschränkungen bereitgestellt und sollte nicht für Produktionsworkloads verwendet werden.
Die zusätzlichen Nutzungsbestimmungen für Microsoft Azure-Vorschauen enthalten rechtliche Bedingungen. Sie gelten für diejenigen Azure-Features, die sich in der Beta- oder Vorschauversion befinden oder aber anderweitig noch nicht zur allgemeinen Verfügbarkeit freigegeben sind.
MQTT-Dataflowendpunkte werden für MQTT-Quellen und -Ziele verwendet. Sie können die Endpunkteinstellungen, Transport Layer Security (TLS), die Authentifizierung und andere Einstellungen konfigurieren.
Voraussetzungen
- Eine Instanz von Azure IoT Einsatz
Lokaler MQTT-Broker für Azure IoT Einsatz
Azure IoT Einsatz bietet einen integrierten lokalen MQTT-Broker, den Sie mit Dataflows verwenden können. Sie können den MQTT-Broker als Quelle verwenden, um Nachrichten von anderen Systemen zu empfangen, oder als Ziel, um Nachrichten an andere Systeme zu senden.
Standardendpunkt
Wenn Sie Azure IoT Einsatz bereitstellen, wird ein MQTT-Broker-Dataflowendpunkt namens „Standard“ mit Standardeinstellungen erstellt. Sie können diesen Endpunkt als Quelle oder Ziel für Dataflows verwenden.
Wichtig
Sie müssen in jedem Datenfluss den Standardendpunkt oder einen mit denselben Einstellungen verwenden. Dies kann die Quelle, das Ziel oder beides sein. Weitere Informationen finden Sie unter Datenflüsse müssen den lokalen MQTT-Broker-Endpunkt verwenden.
Der Standardendpunkt verwendet die folgenden Einstellungen:
- Host:
aio-broker:18883
über den Listener des MQTT-Standardbrokers - Authentifizierung: Dienstkontotoken (Service Account Token, SAT) über die standardmäßige BrokerAuthentication-Ressource
- TLS: Aktiviert
- Vertrauenswürdiges Zertifizierungsstellenzertifikat: Das standardmäßige Zertifizierungsstellenzertifikat
azure-iot-operations-aio-ca-trust-bundle
der standardmäßigen Stammzertifizierungsstelle
Achtung
Löschen Sie den Standardendpunkt nicht. Wenn Sie den Standardendpunkt löschen, müssen Sie ihn mit denselben Einstellungen neu erstellen.
So zeigen Sie die Einstellungen für den standardmäßigen MQTT-Broker-Endpunkt an oder bearbeiten sie
Wählen Sie auf der Einsatz-Benutzeroberfläche die Option Dataflowendpunkte aus.
Wählen Sie den Endpunkt Standard aus, um die Einstellungen anzuzeigen oder zu bearbeiten.
Erstellen eines neuen Endpunkts
Sie können auch neue lokale MQTT-Brokerendpunkte mit benutzerdefinierten Einstellungen erstellen. Sie können beispielsweise einen neuen MQTT-Brokerendpunkt mit einem anderen Port, einer anderen Authentifizierung oder anderen Autorisierungseinstellungen erstellen. Sie müssen den Standardendpunkt jedoch immer als Quelle oder Ziel in jedem Dataflow verwenden, auch wenn Sie neue Endpunkte erstellen.
Wählen Sie auf der Einsatz-Benutzeroberfläche die Option Dataflowendpunkte aus.
Wählen Sie unter Neuen Dataflowendpunkt erstellen die Option Azure IoT Einsatz – Lokaler MQTT>Neu aus.
Geben Sie die folgenden Einstellungen für den Endpunkt ein:
Einstellung BESCHREIBUNG Name Der Name des Dataflowendpunkts. Host Der Hostname und Port des MQTT-Brokers. Verwenden Sie das Format: <hostname>:<port>
.Authentifizierungsmethode Die für die Authentifizierung verwendete Methode. Wählen Sie Dienstkontotoken oder X509-Zertifikat aus. Dienstzielgruppe Die Zielgruppe für das Dienstkontotoken. Erforderlich, wenn das Dienstkontotoken verwendet wird. X509-Clientzertifikat Das für die Authentifizierung verwendete X.509-Clientzertifikat. Erforderlich bei Verwendung des X509-Zertifikats. X509-Clientschlüssel Der private Schlüssel, der dem X.509-Clientzertifikat entspricht. Erforderlich bei Verwendung des X509-Zertifikats. X509-Zwischenzertifikate Die Zwischenzertifikate für die X.509-Clientzertifikatkette. Erforderlich bei Verwendung des X509-Zertifikats.
Azure Event Grid
Azure Event Grid bietet einen vollständig verwalteten MQTT-Broker, der mit Azure IoT Einsatz-Dataflows arbeitet. Zum Konfigurieren eines Azure Event Grid-Endpunkts für den MQTT-Broker empfehlen wir Ihnen die Verwendung einer verwaltete Identität für die Authentifizierung.
Konfigurieren des Event Grid-Namespace
Erstellen Sie zuerst den Event Grid-Namespace, sofern noch nicht geschehen.
Aktivieren von MQTT
Wenn Sie über einen Event Grid-Namespace verfügen, wechseln Sie zu Konfiguration, und überprüfen Sie Folgendes:
- MQTT aktivieren: Aktivieren Sie das Kontrollkästchen.
- Maximale Clientsitzungen pro Authentifizierungsname: Legen Sie diesen Wert auf 3 oder mehr fest.
Die Option für maximale Clientsitzungen ist wichtig, damit Dataflows hochskaliert werden und trotzdem eine Verbindung herstellen können. Weitere Informationen finden Sie unter Unterstützung für mehrere Event Grid-MQTT-Sitzungen.
Erstellen eines Themenbereichs
Damit Dataflows Nachrichten an den Event Grid-MQTT-Broker senden oder von ihm empfangen können, müssen Sie mindestens einen Themenbereich im Event Grid-Namespace erstellen. Sie können einen Themenbereich im Event Grid-Namespace erstellen, indem Sie Themenbereiche>Neuer Themenbereich auswählen.
Für einen schnellen Einstieg und zum Testen können Sie einen Themenbereich mit dem Platzhalterthema #
als Themenvorlage erstellen.
Zuweisen von Berechtigungen zur verwalteten Identität
Für das Konfigurieren eines Datenflussendpunkts für den MQTT-Broker von Event Grid wird eine benutzerseitig zugewiesene oder systemseitig zugewiesene verwaltete Identität empfohlen. Dieser Ansatz ist sicher und beseitigt die Notwendigkeit der manuellen Verwaltung von Anmeldeinformationen.
Nachdem der Themenbereich erstellt wurden, müssen Sie der verwalteten Identität von Azure IoT Einsatz eine Rolle zuweisen, die die Berechtigung zum Senden oder Empfangen von Nachrichten vom oder an den MQTT-Broker von Event Grid gewährt.
Wenn Sie eine systemseitig zugewiesene verwaltete Identität verwenden, wechseln Sie im Azure-Portal zu Ihrer Azure IoT Einsatz-Instanz, und wählen Sie Übersicht aus. Kopieren Sie den Namen der Erweiterung, die nach der Arc-Erweiterung für Azure IoT Einsatz aufgeführt ist. Beispiel: azure-iot-operations-xxxx7. Ihre systemseitig zugewiesene verwaltete Identität hat denselben Namen wie die Arc-Erweiterung von Azure IoT Einsatz.
Wechseln Sie dann zu „Event Grid-Namespace“ >Zugriffssteuerung (IAM)>Rollenzuweisung hinzufügen.
- Wählen Sie auf der Registerkarte Rolle eine geeignete Rolle aus, z. B.
EventGrid TopicSpaces Publisher
oderEventGrid TopicSpaces Subscriber
. Dadurch erhält die verwaltete Identität die erforderlichen Berechtigungen zum Senden oder Empfangen von Nachrichten für alle Themenbereiche im Namespace. Weitere Informationen finden Sie unter Microsoft Entra-JWT-Authentifizierung und Azure RBAC-Autorisierung für das Veröffentlichen oder Abonnieren von MQTT-Nachrichten. - Auf der Registerkarte Mitglieder:
- Wenn Sie die systemseitig zugewiesene verwaltete Identität verwenden, wählen Sie für Zugriff zuweisen zu die Option Benutzer, Gruppe oder Dienstprinzipal aus, wählen Sie dann + Mitglieder auswählen aus, und suchen Sie nach dem Namen der Azure IoT Einsatz Arc-Erweiterung.
- Wenn Sie eine benutzerseitig zugewiesene verwaltete Identität verwenden, wählen Sie für Zugriff zuweisen zu die Option Verwaltete Identität und anschließend + Mitglieder auswählen aus. Suchen Sie dann nach Ihrer Einrichtung der benutzerseitig zugewiesenen verwalteten Identität für Cloudverbindungen.
Alternativ können Sie die Rolle auf Themenbereichsebene zuweisen. Navigieren Sie zu „Themenbereich“ >Zugriffssteuerung (IAM)>Rollenzuweisung hinzufügen. Weisen Sie die verwaltete Identität mit einer geeigneten Rolle wie EventGrid TopicSpaces Publisher
oder EventGrid TopicSpaces Subscriber
zu. Dadurch erhält die verwaltete Identität die erforderlichen Berechtigungen zum Senden oder Empfangen von Nachrichten für den jeweiligen Themenbereich.
Erstellen eines Datenflussendpunkts für den MQTT-Broker von Event Grid
Nachdem der Event Grid-Namespace konfiguriert wurde, können Sie nun einen Dataflowendpunkt für den Event Grid-MQTT-Broker erstellen.
Wählen Sie auf der Einsatz-Benutzeroberfläche die Registerkarte Dataflowendpunkte aus.
Wählen Sie unter Neuen Dataflowendpunkt erstellen die Option Azure Event Grid MQTT>Neu aus.
Geben Sie die folgenden Einstellungen für den Endpunkt ein:
Einstellung BESCHREIBUNG Name Der Name des Dataflowendpunkts. Host Der Hostname und Port des Event Grid-MQTT-Brokers. Verwenden Sie das Format: <NAMESPACE>.<REGION>-1.ts.eventgrid.azure.net:8883
.Authentifizierungsmethode Die für die Authentifizierung verwendete Methode. Es wird empfohlen, Systemseitig zugewiesene verwaltete Identität oder Benutzerseitig zugewiesene verwaltete Identität auszuwählen. Wählen Sie Übernehmen aus, um den Endpunkt bereitzustellen.
Nachdem der Endpunkt erstellt wurde, können Sie ihn in einem Dataflow verwenden, um eine Verbindung mit dem Event Grid-MQTT-Broker als Quelle oder Ziel herzustellen. Die MQTT-Themen werden im Dataflow konfiguriert.
Verwenden der X.509-Zertifikatauthentifizierung mit Event Grid
Wenn Sie die X.509-Authentifizierung mit einem MQTT-Broker für Event Grid verwenden, wechseln Sie zum Event Grid-Namespace >Configuration, und überprüfen Sie die folgenden Einstellungen:
- MQTT aktivieren: Aktivieren Sie das Kontrollkästchen.
- Alternative Namensquellen für die Clientauthentifizierung aktivieren: Aktivieren Sie das Kontrollkästchen.
- Zertifikatsantragstellername: Wählen Sie diese Option in der Dropdownliste aus.
- Maximale Clientsitzungen pro Authentifizierungsname: Legen Sie diesen Wert auf 3 oder mehr fest.
Mit den Optionen für die alternative Clientauthentifizierung und die maximalen Clientsitzungen können Datenflüsse zur Authentifizierung den Antragstellernamen für das Clientzertifikat anstelle von MQTT CONNECT Username
verwenden. Diese Funktion ist wichtig, damit Datenflüsse mehrere Instanzen erzeugen und weiterhin eine Verbindung herstellen können. Weitere Informationen finden Sie unter MQTT-Clientzertifikatauthentifizierung in Event Grid und Unterstützung für mehrere Sitzungen.
Führen Sie dann die Schritte unter X.509-Zertifikat aus, um den Endpunkt mit den X.509-Zertifikateinstellungen zu konfigurieren.
Einschränkung des gemeinsamen Event Grid-Abonnements
Der Azure Event Grid-MQTT-Broker unterstützt keine gemeinsamen Abonnements. Das bedeutet, dass Sie instanceCount
im Dataflowprofil nicht auf mehr als 1
festlegen können, wenn Event Grid als Quelle (von der der Dataflow Nachrichten abonniert) für einen Dataflow verwendet wird. In diesem Fall kann der Dataflow nicht gestartet werden, wenn Sie instanceCount
auf einen Wert größer als 1
festlegen.
Benutzerdefinierte MQTT-Broker
Bei anderen MQTT-Brokern können Sie den Endpunkt, TLS, die Authentifizierung und weitere Einstellungen nach Bedarf konfigurieren.
Wählen Sie auf der Einsatz-Benutzeroberfläche die Registerkarte Dataflowendpunkte aus.
Wählen Sie unter Neuen Dataflowendpunkt erstellen die Option Benutzerdefinierter MQTT-Broker>Neu aus.
Geben Sie die folgenden Einstellungen für den Endpunkt ein:
Einstellung BESCHREIBUNG Name Der Name des Dataflowendpunkts Host Der Hostname des MQTT-Brokerendpunkts im Format <hostname>.<port>
.Authentifizierungsmethode Die für die Authentifizierung verwendete Methode. Wählen Sie Dienstkontotoken oder X509-Zertifikat aus. Dienstzielgruppe Die Zielgruppe für das Dienstkontotoken. Erforderlich, wenn das Dienstkontotoken verwendet wird. X509-Clientzertifikat Das für die Authentifizierung verwendete X.509-Clientzertifikat. Erforderlich bei Verwendung des X509-Zertifikats. X509-Clientschlüssel Der private Schlüssel, der dem X.509-Clientzertifikat entspricht. Erforderlich bei Verwendung des X509-Zertifikats. X509-Zwischenzertifikate Die Zwischenzertifikate für die X.509-Clientzertifikatkette. Erforderlich bei Verwendung des X509-Zertifikats. Wählen Sie Übernehmen aus, um den Endpunkt bereitzustellen.
Weitere Informationen zum Anpassen der MQTT-Endpunkteinstellungen finden Sie in den folgenden Abschnitten.
Verfügbare Authentifizierungsmethoden
Die folgenden Authentifizierungsmethoden sind für Dataflowendpunkte des MQTT-Brokers verfügbar.
Systemseitig zugewiesene verwaltete Identität
Bevor Sie den Datenflussendpunkt konfigurieren, weisen Sie der verwalteten Identität von Azure IoT Einsatz eine Rolle mit der Berechtigung zum Herstellen einer Verbindung mit dem MQTT-Broker zu:
- Wechseln Sie im Azure-Portal zu Ihrer Azure IoT Einsatz-Instanz, und wählen Sie Übersicht aus.
- Kopieren Sie den Namen der Erweiterung, die nach der Arc-Erweiterung für Azure IoT Einsatz aufgeführt ist. Beispiel: azure-iot-operations-xxxx7.
- Wechseln Sie zu der Cloudressource, der Sie Berechtigungen zuweisen möchten. Navigieren Sie beispielsweise im Event Grid-Namespace zu >Zugriffssteuerung (IAM)>Rollenzuweisung hinzufügen.
- Wählen Sie auf der Registerkarte Rolle eine geeignete Rolle aus.
- Wählen Sie auf der Registerkarte Mitglieder für Zugriff zuweisen zu die Option Benutzer, Gruppe oder Dienstprinzipal nud anschließend + Mitglieder auswählen aus. Suchen Sie dann nach der verwalteten Identität von Azure IoT Einsatz. Beispiel: azure-iot-operations-xxxx7.
Konfigurieren Sie dann den Datenflussendpunkt mit den Einstellungen der systemseitig zugewiesenen verwalteten Identität.
Wählen Sie auf der Seite „Einstellungen“ für den Dataflowendpunkt auf der Einsatz-Benutzeroberfläche die Registerkarte Allgemeine Informationen und dann Authentifizierungsmethode>Systemseitig zugewiesene verwaltete Identität aus.
In den meisten Fällen können Sie beim Verwenden mit Event Grid die Einstellungen wie gezeigt leer lassen. Dadurch wird die Zielgruppe der verwalteten Identität auf die allgemeine Event Grid-Zielgruppe https://eventgrid.azure.net
festgelegt. Wenn Sie eine andere Zielgruppe festlegen müssen, können Sie diese in den Einstellungen angeben.
Nicht unterstützt.
Benutzerseitig zugewiesene verwaltete Identität
Um eine benutzerseitig zugewiesene verwaltete Identität für die Authentifizierung zu verwenden, müssen Sie zuerst Azure IoT Einsatz mit aktivierten sicheren Einstellungen bereitstellen. Anschließend müssen Sie eine benutzerseitig zugewiesene verwaltete Identität für Cloudverbindungen einrichten. Weitere Informationen finden Sie unter Aktivieren sicherer Einstellungen bei der Bereitstellung von Azure IoT Einsatz.
Bevor Sie den Datenflussendpunkt konfigurieren, weisen Sie der benutzerseitig zugewiesenen verwalteten Identität eine Rolle mit der Berechtigung zum Herstellen einer Verbindung mit dem MQTT-Broker zu:
- Navigieren Sie im Azure-Portal zu der Cloudressource, der Sie Berechtigungen zuweisen möchten. Navigieren Sie beispielsweise im Event Grid-Namespace zu >Zugriffssteuerung (IAM)>Rollenzuweisung hinzufügen.
- Wählen Sie auf der Registerkarte Rolle eine geeignete Rolle aus.
- Wählen Sie auf der Registerkarte Mitglieder für Zugriff zuweisen zu die Option Verwaltete Identität und anschließend + Mitglieder auswählen aus. Suchen Sie dann nach Ihrer benutzerseitig zugewiesenen verwalteten Identität.
Konfigurieren Sie danach den Datenflussendpunkt mit den Einstellungen der benutzerseitig zugewiesenen verwalteten Identität.
Wählen Sie auf der Seite „Einstellungen“ für den Dataflowendpunkt auf der Einsatz-Benutzeroberfläche die Registerkarte Allgemeine Informationen und dann Authentifizierungsmethode>Benutzerseitig zugewiesene verwaltete Identität aus.
Hier ist der Umfang optional und standardmäßig auf https://eventgrid.azure.net/.default
festgelegt. Dies funktioniert für alle Azure Event Grid-Namespaces. Wenn Sie einen anderen Umfang festlegen müssen, können Sie ihn in den Einstellungen über Bicep oder Kubernetes angeben.
Kubernetes Dienstkontotoken (Service Account Token, SAT)
Um ein Kubernetes-Dienstkontotoken (Service Account Token, SAT) für die Authentifizierung zu verwenden, müssen Sie kein Geheimnis erstellen. SAT wird verwendet, um sich mit dem MQTT-Broker zu authentifizieren, wenn die Zielgruppe übereinstimmt.
Wählen Sie auf der Seite „Einstellungen“ für den Dataflowendpunkt auf der Einsatz-Benutzeroberfläche die Registerkarte Allgemeine Informationen und dann Authentifizierungsmethode>Dienstkontotoken aus.
Geben Sie die Dienstzielgruppe ein.
X.509-Zertifikat
Viele MQTT Vermittler, z. B. Event Grid unterstützen die X.509-Authentifizierung. Dataflows können ein X.509-Clientzertifikat präsentieren und die TLS-Kommunikation aushandeln.
Das Zertifikat und der private Schlüssel müssen im PEM-Format vorliegen und dürfen nicht kennwortgeschützt sein.
Tipp
Das PEM-Format ist ein gängiges Format für Zertifikate und Schlüssel. Zertifikate und Schlüssel im PEM-Format sind Base64-codierte ASCII-Dateien mit Headern wie -----BEGIN CERTIFICATE-----
und -----BEGIN EC PRIVATE KEY----
.
Wenn Sie über ein Zertifikat in einem anderen Format verfügen, können Sie es mithilfe von OpenSSL in das PEM-Format konvertieren. Weitere Informationen finden Sie unter Konvertieren von Zertifikaten in ein gewünschtes Format.
Erstellen Sie vor dem Konfigurieren des Datenflussendpunkts ein Geheimnis mit dem Zertifikat und dem privaten Schlüssel.
Wenn Sie das Einsatz-Portal verwenden, wird das Geheimnis automatisch formatiert und mit dem Kubernetes-Cluster synchronisiert.
Wenn Sie Bicep oder Kubernetes verwenden, erstellen Sie das Geheimnis manuell mit dem Zertifikat und dem privaten Schlüssel im selben Namespace wie der MQTT-Datenflussendpunkt.
kubectl create secret generic <X509_SECRET_NAME> -n azure-iot-operations --from-file=client_cert.pem=<CLIENT_CERT_FILE>.pem --from-file=client_key.pem=<PRIVATE_KEY_FILE>.pem --from-file=client_intermediate_certs.pem=<INTERMEDIATE_CERT_FILE>.pem
Dabei muss das Geheimnis
client_cert.pem
undclient_key.pem
als Schlüsselnamen für das Zertifikat und den privaten Schlüssel enthalten. Optional kann das Geheimnis auchclient_intermediate_certs.pem
als Schlüsselname für die Zwischenzertifikate enthalten.
Wichtig
Um das Einsatz-Portal zum Verwalten von Geheimnissen zu verwenden, muss Azure IoT Einsatz zuerst mit sicheren Einstellungen aktiviert werden, indem Sie eine Azure Key Vault-Instanz konfigurieren und Workloadidentitäten aktivieren. Weitere Informationen finden Sie unter Aktivieren sicherer Einstellungen bei der Bereitstellung von Azure IoT Einsatz.
Wichtig
Beim Einsatz-Portal besteht derzeit ein bekanntes Problem, das beim Erstellen eines X.509-Geheimnisses zu fehlerhaft codierten Daten führt. Weitere Informationen und eine Problemumgehung finden Sie unter Bekannte Probleme.
Wählen Sie auf der Seite „Einstellungen“ für den Dataflowendpunkt auf der Einsatz-Benutzeroberfläche die Registerkarte Allgemeine Informationen und dann Authentifizierungsmethode>X509-Zertifikat aus.
Geben Sie hier unter Synchronisierter Geheimnisname einen Namen für das Geheimnis ein. Dieser Name wird verwendet, um in den Einstellungen des Datenflussendpunkts auf das Geheimnis zu verweisen. Es ist auch der Geheimnisname, der im Kubernetes-Cluster gespeichert ist.
Wählen Sie dann unter X509-Clientzertifikat, X509-Clientschlüssel und X509-Zwischenzertifikate die Option Verweis hinzufügen aus, um das Zertifikat, den privaten Schlüssel und die Zwischenzertifikate hinzuzufügen. Wählen Sie auf der nächsten Seite das Geheimnis mit Aus Azure Key Vault hinzufügen aus Azure Key Vault aus, oder erstellen Sie mit Neu erstellen ein neues Geheimnis.
Wenn Sie Neu erstellen auswählen, geben Sie die folgenden Einstellungen ein:
Einstellung | Beschreibung |
---|---|
Geheimnisname | Der Name des Geheimnisses in Azure Key Vault. Wählen Sie einen Namen aus, der sich einfach merken lässt, um das Geheimnis später in der Liste auswählen zu können. |
Geheimer Wert | Das Zertifikat, der private Schlüssel oder die Zwischenzertifikate im PEM-Format. |
Aktivierungsdatum festlegen | Wenn diese Option aktiviert ist, das Datum, an dem das Geheimnis aktiv wird. |
Festlegen des Ablaufdatums | Wenn diese Option deaktiviert ist, das Datum, an dem das Geheimnis abläuft. |
Weitere Informationen zu Geheimnissen finden Sie unter Verwalten von Geheimnissen für Ihre Bereitstellung von Azure IoT Einsatz.
Anonym
Um die anonyme Authentifizierung zu verwenden, legen Sie die Authentifizierungsmethode auf Anonymous
fest.
Wählen Sie auf der Seite „Einstellungen“ für den Dataflowendpunkt auf der Einsatz-Benutzeroberfläche die Registerkarte Allgemeine Informationen und dann Authentifizierungsmethode>Keine aus.
Erweiterte Einstellungen
Sie können erweiterte Einstellungen für den MQTT-Broker-Dataflowendpunkt festlegen, z. B. TLS, vertrauenswürdiges Zertifizierungsstellenzertifikat, MQTT-Nachrichteneinstellungen und CloudEvents. Sie können diese Einstellungen auf der Portalregisterkarte Erweitert des Dataflowendpunkts oder in der benutzerdefinierten Ressource des Dataflowendpunkts festlegen.
Wählen Sie auf der Einsatz-Benutzeroberfläche die Registerkarte Erweitert für den Dataflowendpunkt aus.
TLS-Einstellungen
TLS-Modus
Um TLS für den MQTT-Endpunkt zu aktivieren oder zu deaktivieren, aktualisieren Sie die Einstellung mode
in den TLS-Einstellungen.
Wählen Sie auf der Seite „Einstellungen“ für den Dataflowendpunkt auf der Einsatz-Benutzeroberfläche die Registerkarte Erweitert aus, und verwenden Sie dann das Kontrollkästchen neben TLS-Modus aktiviert.
Der TLS-Modus kann auf Enabled
oder Disabled
festgelegt werden. Wenn der Modus auf Enabled
festgelegt ist, verwendet der Datenfluss eine sichere Verbindung mit dem MQTT-Broker. Wenn der Modus auf Disabled
festgelegt ist, verwendet der Datenfluss eine unsichere Verbindung mit dem MQTT-Broker.
Vertrauenswürdiges Zertifizierungsstellenzertifikat
Konfigurieren Sie das vertrauenswürdige Zertifizierungsstellenzertifikat für den MQTT-Endpunkt, um eine sichere Verbindung mit dem MQTT-Broker herzustellen. Diese Einstellung ist wichtig, wenn der MQTT-Broker ein selbstsigniertes Zertifikat oder ein Zertifikat verwendet, das von einer benutzerdefinierten Zertifizierungsstelle signiert ist, die nicht standardmäßig vertrauenswürdig ist.
Wählen Sie auf der Seite „Einstellungen“ für den Dataflowendpunkt auf der Einsatz-Benutzeroberfläche die Registerkarte Erweitert aus, und verwenden Sie dann das Feld ConfigMap für vertrauenswürdige Zertifizierungsstellenzertifikate, um die ConfigMap anzugeben, die das vertrauenswürdige Zertifizierungsstellenzertifikat enthält.
Diese ConfigMap sollte das Zertifizierungsstellenzertifikat im PEM-Format enthalten. Die ConfigMap muss sich im selben Namespace wie die MQTT-Dataflowressource befinden. Zum Beispiel:
kubectl create configmap client-ca-configmap --from-file root_ca.crt -n azure-iot-operations
Tipp
Beim Herstellen einer Verbindung mit einem Event Grid-MQTT-Broker ist das Zertifizierungsstellenzertifikat nicht erforderlich, da der Event Hubs-Dienst ein Zertifikat verwendet, das von einer öffentlichen Zertifizierungsstelle signiert ist. Dies gilt standardmäßig als vertrauenswürdig.
Client-ID-Präfix
Sie können ein Client-ID-Präfix für den MQTT-Client festlegen. Die Client-ID wird durch Anfügen des Instanznamens des Dataflows an das Präfix generiert.
Achtung
Die meisten Anwendungen sollten das Präfix der Client-ID nicht ändern. Ändern Sie dies nicht nach einer initialen IoT Operations-Bereitstellung. Das Ändern des Präfixes der Client-ID nach der Bereitstellung kann zu Datenverlust führen.
Wählen Sie auf der Seite „Einstellungen“ für den Dataflowendpunkt auf der Einsatz-Benutzeroberfläche die Registerkarte Erweitert aus, und geben Sie dann im Feld Client-ID-Präfix das Präfix an.
QoS
Sie können die QoS (Quality of Service)-Ebene für die MQTT-Nachrichten entweder auf 1 oder 0 festlegen. Der Standardwert ist 1.
Wählen Sie auf der Seite „Einstellungen“ für den Dataflowendpunkt auf der Einsatz-Benutzeroberfläche die Registerkarte Erweitert aus, und geben Sie dann im Feld QoS die QoS-Stufe an.
Beibehalten V
Verwenden Sie die Einstellung retain
, um anzugeben, ob der Dataflow die Aufbewahrungskennzeichnung für MQTT-Nachrichten beibehalten soll. Der Standardwert ist Keep
.
Das Festlegen dieses Felds auf Keep
ist nützlich zum Sicherstellen, dass der Remotebroker dieselben Nachrichten wie der lokale Broker beibehalten hat. Dies kann bei UNS-Szenarios (Unified Namespace, einheitlicher Namespace) wichtig sein.
Wenn diese Eigenschaft auf Never
festgelegt ist, wird das Aufbewahrungskennzeichnungszeichen aus den MQTT-Nachrichten entfernt. Dies kann hilfreich sein, wenn sie nicht möchten, dass der Remotebroker Nachrichten aufbewahrt, oder wenn der Remotebroker die Aufbewahrung nicht unterstützt.
So konfigurieren Sie Aufbewahrungseinstellungen
Wählen Sie auf der Seite „Einstellungen“ für den Dataflowendpunkt auf der Einsatz-Benutzeroberfläche die Registerkarte Erweitert aus, und geben Sie dann im Feld Aufbewahren die Aufbewahrungseinstellung an.
Die Einstellung aufbewahren wird nur wirksam, wenn der Dataflow den MQTT-Endpunkt sowohl als Quelle als auch als Ziel verwendet. Beispielsweise in einem MQTT-Brückenszenario.
Wichtig
Der MQTT-Broker von Azure Event Grid unterstützt derzeit das Retain-Flag nicht. Wenn das Retain-Flag also auf Keep
für einen Event Grid-MQTT-Broker-Endpunkt festgelegt und als Ziel verwendet wird, werden die Nachrichten abgelehnt. Um dies zu vermeiden, legen Sie das Retain-Flag auf Never
fest, wenn Sie den Event Grid-MQTT-Broker als Ziel verwenden.
Sitzungsablauf
Sie können das Sitzungsablaufintervall für den MQTT-Client des Dataflows festlegen. Das Sitzungsablaufintervall ist die maximale Zeit, die eine MQTT-Sitzung beibehalten wird, wenn der Dataflowclient die Verbindung trennt. Die Standardeinstellung beträgt 600 Sekunden. So konfigurieren Sie das Sitzungsablaufintervall
Wählen Sie auf der Seite „Einstellungen“ für den Dataflowendpunkt auf der Einsatz-Benutzeroberfläche die Registerkarte Erweitert aus, und geben Sie dann im Feld Sitzungsablauf das Sitzungsablaufintervall an.
MQTT- oder WebSockets-Protokoll
Standardmäßig ist WebSockets nicht aktiviert. Um MQTT über WebSockets zu verwenden, legen Sie das Feld protocol
auf WebSockets
fest.
Wählen Sie auf der Seite „Einstellungen“ für den Dataflowendpunkt auf der Einsatz-Benutzeroberfläche die Registerkarte Erweitert aus, und geben Sie dann im Feld Protokoll das Protokoll an.
Max. In-Flight-Nachrichten
Sie können die maximale Anzahl von In-Flight-Nachrichten festlegen, die der MQTT-Dataflowclient haben kann. Der Standard ist 100.
Wählen Sie auf der Seite „Einstellungen“ für den Dataflowendpunkt auf der Einsatz-Benutzeroberfläche die Registerkarte Erweitert aus, und geben Sie dann im Feld Maximale Anzahl von In-Flight-Nachrichten die maximale Anzahl von In-Flight-Nachrichten an.
Beim Abonnieren, wenn der MQTT-Endpunkt als Quelle verwendet wird, ist dies das Maximum zum Empfangen. Beim Veröffentlichen, wenn der MQTT-Endpunkt als Ziel verwendet wird, ist dies die maximale Anzahl von Nachrichten, die gesendet werden, bevor auf eine Bestätigung gewartet wird.
Keep-Alive
Sie können das Keepalive-Intervall für den MQTT-Client des Dataflows festlegen. Das Keepalive-Intervall ist die maximale Zeit, die der Dataflowclient im Leerlauf sein kann, bevor eine PINGREQ-Nachricht an den Broker gesendet wird. Der Standardwert ist 60 Sekunden.
Wählen Sie auf der Seite „Einstellungen“ für den Dataflowendpunkt auf der Einsatz-Benutzeroberfläche die Registerkarte Erweitert aus, und geben Sie dann im Feld Keepalive das Keep Alive-Intervall an.
CloudEvents
CloudEvents sind eine Möglichkeit, Ereignisdaten in einer allgemeinen Weise zu beschreiben. Die CloudEvents-Einstellungen werden verwendet, um Nachrichten im CloudEvents-Format zu senden oder zu empfangen. Sie können CloudEvents für ereignisgesteuerte Architekturen verwenden, bei denen unterschiedliche Dienste in demselben oder in unterschiedlichen Cloudanbieter miteinander kommunizieren müssen.
Die cloudEventAttributes
-Optionen sind Propagate
oder CreateOrRemap
. So konfigurieren Sie CloudEvents-Einstellungen
Wählen Sie auf der Seite „Einstellungen“ für den Dataflowendpunkt auf der Einsatz-Benutzeroberfläche die Registerkarte Erweitert aus, und geben Sie dann im Feld Cloudereignisattribute die CloudEvents-Einstellung an.
Die folgenden Abschnitte enthalten weitere Informationen zu CloudEvents-Einstellungen.
Verteilungseinstellung
CloudEvent-Eigenschaften werden für Nachrichten übergeben, welche die erforderlichen Eigenschaften enthalten. Wenn die Nachricht die erforderlichen Eigenschaften nicht enthält, wird die Nachricht unverändert übergeben.
Name | Erforderlich | Beispielwert | Ausgabewert |
---|---|---|---|
specversion |
Ja | 1.0 |
Unverändert übergeben |
type |
Ja | ms.aio.telemetry |
Unverändert übergeben |
source |
Ja | aio://mycluster/myoven |
Unverändert übergeben |
id |
Ja | A234-1234-1234 |
Unverändert übergeben |
subject |
No | aio/myoven/telemetry/temperature |
Unverändert übergeben |
time |
No | 2018-04-05T17:31:00Z |
Unverändert übergeben. Es ist nicht neu gestempelt. |
datacontenttype |
No | application/json |
Der Inhaltstyp der Ausgabedaten wurde nach der optionalen Transformationsphase geändert. |
dataschema |
No | sr://fabrikam-schemas/123123123234234234234234#1.0.0 |
Wenn in der Transformationskonfiguration ein Transformationsschema für Ausgabedaten angegeben wird, wird dataschema in das Ausgabeschema geändert. |
CreateOrRemap-Einstellung
CloudEvent-Eigenschaften werden für Nachrichten übergeben, welche die erforderlichen Eigenschaften enthalten. Wenn die Nachricht die erforderlichen Eigenschaften nicht enthält, werden die Eigenschaften generiert.
Name | Erforderlich | Generierter Wert bei fehlendem Wert |
---|---|---|
specversion |
Ja | 1.0 |
type |
Ja | ms.aio-dataflow.telemetry |
source |
Ja | aio://<target-name> |
id |
Ja | Generierte UUID im Zielclient |
subject |
No | Das Ausgabethema, zu dem die Nachricht gesendet wird |
time |
No | Generiert als RFC 3339 im Zielclient |
datacontenttype |
No | Der Inhaltstyp der Ausgabedaten wurde nach der optionalen Transformationsphase geändert |
dataschema |
No | Schema, das in der Schemaregistrierung definiert ist |
Nächste Schritte
Weitere Informationen zu Datenflüssen finden Sie unter Erstellen eines Datenflusses.