Tutorial: Weiterleiten von MQTT-Nachrichten an Azure Event Hubs mithilfe von Namespacethemen (Azure-Portal)

In diesem Lernprogramm erfahren Sie, wie Sie ein Namespacethema verwenden, um Daten von MQTT-Clients an Azure Event Hubs weiterzuleiten. Die allgemeinen Schritte sind folgende:

Voraussetzungen

  • Wenn Sie kein Azure-Abonnement haben, erstellen Sie ein kostenloses Azure-Konto, bevor Sie beginnen.
  • Wenn Sie noch nicht mit Event Grid vertraut sind, lesen Sie bitte den Überblick über Event Grid, bevor Sie mit diesem Tutorial beginnen.
  • Registrieren Sie den Event Grid-Ressourcenanbieter wie in Registrieren des Event Grid-Ressourcenanbieters beschrieben.
  • Stellen Sie sicher, dass Port 8883 in Ihrer Firewall geöffnet ist. Für das Beispiel in diesem Tutorial wird das MQTT-Protokoll verwendet, das über Port 8883 kommuniziert. In einigen Netzwerkumgebungen von Unternehmen oder Bildungseinrichtungen könnte dieser Port unter Umständen blockiert sein.

Erstellen eines Namespace im Azure-Portal

Ein Namespace in Azure Event Grid ist ein logischer Container für ein oder mehrere Themen, Clients, Clientgruppen, Themenbereiche und Berechtigungsbindungen. Er stellt einen eindeutigen Namespace bereit, sodass Sie mehrere Ressourcen in derselben Azure-Region verwenden können. Mit einem Azure Event Grid-Namespace können Sie jetzt verwandte Ressourcen gruppieren und als einzelne Einheit in Ihrem Azure-Abonnement verwalten.

Befolgen Sie die nächsten Abschnitte, um einen Azure Event Grid-Namespace zu erstellen, anzuzeigen und zu verwalten.

So erstellen Sie einen Namespace

  1. Melden Sie sich beim Azure-Portalan.

  2. Geben Sie im SuchfeldEreignisrasternamespaces ein, und wählen SieEvent Grid-Namespaces aus den Ergebnissen aus.

    Screenshot von Event Grid-Namespaces in den Suchergebnissen

  3. Wählen Sie auf der Seite Event Grid-Namespaces die Option + Erstellen auf der Symbolleiste aus.

    Screenshot der Seite „Event Grid-Namespaces“ mit der ausgewählten Schaltfläche „Erstellen“ auf der Symbolleiste

  4. Führen Sie auf der Seite Grundlagen die folgenden Schritte aus.

    1. Wählen Sie das Azure-Abonnement aus, in dem Sie den Namespace erstellen möchten.

    2. Wählen Sie eine vorhandene Ressourcengruppe aus, oder erstellen Sie eine Ressourcengruppe.

    3. Geben Sie einen Namen für den Namespace ein.

    4. Wählen Sie die Region oder den Speicherort aus, an dem Sie den Namespace erstellen möchten.

    5. Wählen Sie am unteren Rand der Seite die Option Bewerten + erstellen aus.

      Screenshot der Registerkarte „Grundlagen“ der Seite „Namespace erstellen“

  5. Überprüfen Sie Ihre Einstellungen auf der Registerkarte Überprüfen und erstellen, und wählen Sie Erstellen aus.

  6. Wählen Sie auf der Seite Bereitstellung erfolgreich die Option Zu Ressource wechseln aus, um zu Ihrem Namespace zu navigieren.

Erstellen eines Namespacethemas

  1. Wenn Sie nicht auf der Event Grid-Namespaceseite sind, führen Sie die Schritte zum Erstellen, Anzeigen und Verwalten von Namespaces aus, um den Namespace anzuzeigen, den Sie zum Erstellen des Themas verwenden möchten.

  2. Wählen Sie auf der Seite Event Grid-Namespace im linken Menü im Abschnitt Ereignisse die Option Themen aus.

  3. Wählen Sie auf der Seite Themen in der Befehlsleiste die Schaltfläche + Thema aus.

    Screenshot: Erstellung des Event Grid-Namespacethemas.

  4. Geben Sie auf der Registerkarte Thema erstellen den Namen des Themas ein, das Sie erstellen möchten, und wählen Sie dann Erstellen aus.

    Screenshot: Grundlagen der Erstellung des Event Grid-Namespacethemas.

Aktivieren der verwalteten Identität für den Event Grid-Namespace

  1. Wählen Sie auf der Seite Event Grid-Namespace im linken Menü unter Einstellungen die Option Identität aus.

  2. Stellen Sie den Schalter auf Ein, um eine systemseitig zugewiesene verwaltete Identität zu aktivieren.

  3. Wählen Sie auf der Symbolleiste Speichern aus, um die Einstellung zu speichern.

    Screenshot der Seite einer systemseitig zugewiesenen Identität für einen Event Grid-Namespace

  4. Wählen Sie auf der Bestätigungsmeldung Ja aus.

  5. Bestätigen Sie, dass Sie die Objekt-ID der vom System zugewiesenen verwalteten Identität sehen und einen Link zum Zuweisen von Rollen sehen.

    Screenshot, der den Abschluss der Zuweisung einer Identität zu einem Namespace zeigt

    Überprüfen Sie die Benachrichtigungen im Portal, um zu bestätigen, dass die verwaltete Identität für den Namespace aktiviert ist.

Aktivieren von MQTT Vermittler für den Event Grid-Namespace

  1. Wählen Sie auf der Seite Event Grid-Namespace im linken Menü unter Einstellungen die Option Konfiguration aus.

  2. Aktivieren Sie das Kontrollkästchen neben MQTT Vermittler aktivieren.

  3. Wählen Sie unten auf der Seite Anwenden aus.

    Screenshot: Konfigurationsseite für den Event Grid-Namespace zur Aktivierung von MQTT

    Überprüfen Sie die Benachrichtigungen im Portal, um zu bestätigen, dass MQTT Vermittler für den Namespace aktiviert ist.

Verwenden Sie in einer separaten Registerkarte des Webbrowsers oder in einem separaten Fenster das Azure-Portal, um einen Event Hubs-Namespace mit einem Event Hub zu erstellen.

Erstellen eines Event Hubs-Namespace

Ein Event Hubs-Namespace bietet einen Container mit einem eindeutigen Bereich, in dem Sie einen oder mehrere Event Hubs erstellen können. Führen Sie die folgenden Schritte aus, um mit dem Portal einen Namespace in Ihrer Ressourcengruppe zu erstellen:

  1. Wählen Sie im Azure-Portal im linken Menü Alle Dienste aus und wählen Sie Stern (*) neben Event Hubs in der Kategorie Analytics aus. Überprüfen Sie, ob Event Hubs im linken Navigationsmenü zu FAVORITEN hinzugefügt wurde.

    Screenshot: Auswahl von Event Hubs auf der Seite „Alle Dienste“.

  2. Wählen Sie im linken Navigationsmenü unter FAVORITEN die Option Event Hubs aus. Wählen Sie anschließend auf der Symbolleiste die Option Erstellen aus.

    Screenshot: Ausgewählte Schaltfläche “Erstellen“ auf der Seite “Event Hubs“.

  3. Gehen Sie auf der Seite Namespace erstellen wie folgt vor:

    1. Wählen Sie das Abonnement aus, in dem Sie den Namespace erstellen möchten.

    2. Wählen Sie die Ressourcengruppe aus, die Sie im vorherigen Schritt erstellt haben.

    3. Geben Sie einen Namen für den Namespace ein. Das System überprüft sofort, ob dieser Name verfügbar ist.

    4. Wählen Sie einen Standort für den Namespace aus.

    5. Wählen Sie Basic für den Tarif aus. Wenn Sie den Namespace aus Apache Kafka-Apps verwenden möchten, verwenden Sie den Standard-Tarif. Der Basic-Tarif unterstützt keine Apache Kafka-Workloads. Informationen zu den Unterschieden zwischen den Tarifen finden Sie in den Artikeln Kontingente und Grenzwerte, Event Hubs Premium und Event Hubs Dedicated.

    6. Lassen Sie die Einstellungen für Durchsatzeinheiten (für den Standard-Tarif) oder Verarbeitungseinheiten (für den Premium-Tarif) unverändert. Weitere Informationen zu Durchsatzeinheiten oder Verarbeitungseinheiten finden Sie unter Skalierung mit Event Hubs.

    7. Wählen Sie am unteren Rand der Seite die Option Bewerten + erstellen aus.

      Screenshot: Seite „Namespace erstellen“ im Azure-Portal.

    8. Überprüfen Sie die Einstellungen auf der Seite Bewerten + erstellen, und wählen Sie Erstellen aus. Warten Sie, bis die Bereitstellung abgeschlossen ist.

  4. Wählen Sie auf der Seite Bereitstellung die Option Zu Ressource wechseln aus, um zur Seite für Ihren Namespace zu navigieren.

    Screenshot: Seite „Bereitstellung abgeschlossen“ mit dem Link zur Ressource.

  5. Vergewissern Sie sich, dass die Seite Event Hubs-Namespace in etwa aussieht wie das folgende Beispiel:

    Screenshot: Homepage für Ihren Event Hubs-Namespace im Portal.

Erstellen eines Ereignis-Hubs

Führen Sie die folgenden Schritte aus, um im Namespace einen Event Hub zu erstellen:

  1. Wählen Sie auf der Seite Übersicht die Option + Event Hub auf der Befehlsleiste aus.

    Screenshot: Ausgewählte Schaltfläche „Event Hub hinzufügen“ auf der Befehlsleiste.

  2. Geben Sie einen Namen für den Event Hub ein, und wählen Sie dann Überprüfen und erstellen aus.

    Screenshot: Seite „Event Hub erstellen“.

  3. Wählen Sie auf der Seite Überprüfen + erstellen die Option Erstellen aus.

  4. Sie können den Status der Event Hub-Erstellung in den Warnungen überprüfen. Nachdem der Event Hub erstellt wurde, wird er in der Liste der Event Hubs angezeigt.

    Screenshot: Liste der Event Hubs.

Erteilen des Zugriffs zum Senden von Ereignissen an den Event Hub für den Event Grid-Namespace

  1. Wählen Sie auf der Seite Event Hubs-Namespace im linken Menü Zugriffssteuerung (IAM) aus.

  2. Wählen Sie auf der Seite Zugriffssteuerung die Option + Hinzufügen und dann Rollenzuweisung hinzufügen aus.

    Screenshot der Seite „Zugriffssteuerung“ für den Event Hubs-Namespace

  3. Wählen Sie auf der Seite Rollenzuweisung hinzufügen in der Liste der Rollen Azure Event Hubs-Datensender und dann unten auf der Seite Weiter aus.

    Screenshot der Seite „Rollenzuweisung hinzufügen“ mit ausgewählter Option „Azure Event Hubs-Datensender“

  4. Führen Sie auf der Seite Mitglieder die folgenden Schritte aus:

    1. Wählen Sie für das Feld Zugriff zuweisen zu die Option Verwaltete Identität aus.

    2. Wählen Sie + Mitglieder auswählen aus.

      Screenshot der Seite „Rollenzuweisung hinzufügen“ mit ausgewählter verwalteter Identität

  5. Führen Sie auf der Seite Verwaltete Identitäten auswählen die folgenden Schritte aus:

    1. Wählen Sie Ihr Azure- Abonnementaus.

    2. Wählen Sie für Verwaltete Identität die Option Event Grid-Namespace aus.

    3. Wählen Sie die verwaltete Identität aus, die denselben Namen wie der Event Grid-Namespace hat.

    4. Klicken Sie unten auf der Seite auf Auswählen.

      Screenshot der Seite „Verwaltete Identitäten auswählen“ mit ausgewählter verwalteter Identität des Event Grid-Namespace

  6. Wählen Sie unten auf der Seite Rollenzuweisung hinzufügen die Option Überprüfen + zuweisen aus.

  7. Wählen Sie auf der Seite Überprüfen + zuweisen die Option Überprüfen + zuweisen aus.

Erstellen eines Ereignisabonnements mit Event Hubs als Endpunkt

  1. Wechseln Sie im Webbrowserfenster zu der Registerkarte, auf der der Event Grid-Namespace geöffnet ist.

  2. Wählen Sie auf der Seite Event Grid-Namespace im linken Menü die Option Themen aus.

  3. Wählen Sie auf der Seite Themen das Namespacethema aus, das Sie zuvor erstellt haben.

    Screenshot der Seite „Themen“ mit ausgewähltem Namespacethema

  4. Wählen Sie auf der Seite Event Grid-Namespacethema in der Befehlsleiste oben + Abonnement aus.

    Screenshot der Seite „Abonnements“

  5. Führen Sie auf der Seite Abonnement erstellen die folgenden Schritte aus:

    1. Geben Sie einen Namen für das Ereignisabonnement ein.

    2. Wählen Sie für Übermittlungsmodus die Option Push aus.

    3. Vergewissern Sie sich, dass Endpunkttyp auf Event Hub festgelegt ist.

    4. Wählen Sie Endpunkt konfigurieren aus.

      Screenshot der Seite „Abonnement erstellen“

    5. Führen Sie auf der Seite Event Hub auswählen die folgenden Schritte aus:

      1. Wählen Sie das Azure-Abonnement aus, das über den Event Hub verfügt.

      2. Wählen Sie die Ressourcengruppe aus, die den Event Hub enthält.

      3. Wählen Sie den Event Hubs-Namespace aus.

      4. Wählen Sie im Event Hubs-Namespace den Event Hub aus.

      5. Wählen Sie anschließend Auswahl bestätigen aus.

        Screenshot der Seite „Event Hub auswählen“.

    6. Wählen Sie auf der Seite Abonnement erstellen unter Verwalteter Identitätstyp die Option Systemseitig zugewiesen aus.

    7. Wählen Sie am unteren Rand der Seite die Option Erstellen.

      Screenshot der Seite „Abonnement erstellen“ mit ausgewählter Schaltfläche „Erstellen“.

Konfigurieren des Routings im Event Grid-Namespace

  1. Navigieren Sie zurück zur Seite Event Grid-Namespace, indem Sie den Namespace im Abschnitt Zusammenfassung auf der Seite Event Grid-Namespacethema auswählen oder den Namespacenamen im Breadcrumbmenü oben auswählen.

  2. Wählen Sie auf der Seite Event Grid-Namespace im linken Menü im Abschnitt MQTT Vermittler die Option Routing aus.

  3. Wählen Sie auf der Seite Routing die Option Routing aktivieren aus.

  4. Wählen Sie für Thementyp die Option Namespacethema aus.

  5. Wählen Sie unter Thema das Event Grid-Namespacethema aus, das Sie erstellt haben und an das alle MQTT-Nachrichten weitergeleitet werden.

  6. Wählen Sie Übernehmen.

    Screenshot der Seite „Routing“ mit ausgewähltem Namespacethema

    Überprüfen Sie die Benachrichtigungen, um zu bestätigen, dass der Namespace mit den Routinginformationen aktiviert ist.

Erstellen von Clients, Themenbereich und Berechtigungsbindungen

Führen Sie die folgenden Schritte unter Schnellstart: Veröffentlichen und Abonnieren eines MQTT-Themas aus:

  1. Erstellen Sie einen Client. Sie können den zweiten Client erstellen, wenn Sie möchten, aber dies ist optional.

  2. Erstellen Sie einen Themenbereich.

  3. Erstellen Sie Herausgeber- und Abonnentenberechtigungsbindungen.

  4. Verwenden Sie MQTTX, um einige Nachrichten zu senden.

  5. Stellen Sie auf der Seite Übersicht für Ihren Event Hubs-Namespace sicher, dass der Event Hub diese Nachrichten empfangen hat.

    Screenshot der Seite „Übersicht“ des Event Hubs mit der Anzahl eingehender Nachrichten

Anzeigen der weitergeleiteten MQTT-Nachrichten in Event Hubs mithilfe einer Stream Analytics-Abfrage

Navigieren Sie zu der Event Hubs-Instanz (dem Event Hub) innerhalb Ihres Ereignisabonnements im Azure-Portal. Verarbeiten Sie Daten aus Ihrem Event Hub mit Stream Analytics. Weitere Informationen finden Sie unter Verarbeiten von Daten aus einem Event Hub mit Azure Stream Analytics – Azure Event Hubs | Microsoft Learn. Sie können die MQTT-Nachrichten in der Abfrage sehen.

Screenshot der MQTT-Nachrichtendaten in Event Hubs mithilfe des Stream Analytics-Abfragetools

Nächste Schritte

Codebeispiele finden Sie in diesem GitHub-Repository.