Freigeben über


Bereitstellen von Ereignissen an Azure Event Hubs mithilfe von Namespacethemen – Azure-Portal

Dieser Artikel enthält eine Schritt-für-Schritt-Anleitung zur Veröffentlichung von Ereignissen in Azure Event Grid im CloudEvents-JSON-Format und zum Zustellen dieser Ereignisse unter Verwendung des Pushübermittlungsmodells.

Genauer gesagt verwenden Sie das Azure-Portal und cURL, um Ereignisse in einem Namespacethema in Event Grid zu veröffentlichen und diese Ereignisse über ein Ereignisabonnement an ein Event Hubs-Handlerziel zu pushen. Weitere Informationen zum Pushübermittlungsmodell finden Sie unter Übersicht über Pushübermittlung.

Wenn Sie kein Azure-Abonnement haben, erstellen Sie ein kostenloses Azure-Konto, bevor Sie beginnen.

Erstellen eines Event Grid-Namespace

Ein Event Grid-Namespace stellt einen benutzerdefinierten Endpunkt bereit, an dem Sie Ihre Ereignisse bereitstellen. Im folgenden Beispiel wird ein Namespace in Ihrer Ressourcengruppe mithilfe von Bash in der Azure Cloud Shell erstellt. Der Namespace-Name muss eindeutig sein, da er Teil eines DNS-Eintrags (Domain Name System) ist.

  1. Navigieren Sie zum Azure-Portal.

  2. Geben Sie auf der Suchleiste des Themas Event Grid Namespaces ein, und wählen Sie Event Grid Namespaces aus den Ergebnissen aus.

    Screenshot der Suchleiste im Azure-Portal.

  3. Wählen Sie auf der Seite Event Grid-Namespaces die Option + Erstellen auf der Befehlsleiste aus. Screenshot der Seite „Event Grid-Namespaces“ mit der Schaltfläche „Erstellen“ auf der ausgewählten Befehlsleiste.

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

    1. Wählen Sie das Azure-Abonnement aus, in dem Sie den Namespace erstellen möchten.
    2. Wählen Sie Neu erstellen aus, um eine neue Ressourcengruppe zu erstellen, oder wählen Sie eine bereits vorhandene Ressourcengruppe aus.
    3. Geben Sie einen Namen für den Namespace ein.
    4. Wählen Sie unter Speicherort den Speicherort aus, an dem Sie die Ressourcengruppe erstellen möchten.
    5. Wählen Sie dann Überprüfen + erstellen aus.
      Screenshot der Seite „Namespace erstellen“.
    6. Wählen Sie auf der Seite Überprüfen + erstellen die Option Erstellen aus.
  5. Wählen Sie nach erfolgreicher Bereitstellung auf der Seite Bereitstellung die Option Zu Ressource wechseln aus.

Abrufen des Zugriffsschlüssels

  1. Wählen Sie auf der Seite Event Grid-Namespace im linken Menü die Option Zugriffsschlüssel aus.
  2. Wählen Sie neben dem Zugriffsschlüssel die Schaltfläche „Kopieren“ aus. Screenshot der Seite „Event Grid-Namespaces“ mit ausgewählter Registerkarte „Zugriffsschlüssel“.
  3. Speichern Sie den Zugriffsschlüssel an einem beliebigen Ort. Es wird im weiteren Verlauf der Schnellstartanleitung noch benötigt.

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

Aktivieren Sie die vom System zugewiesene verwaltete Identität im Event Grid-Namespace. Führen Sie die folgenden Schritte aus, um mithilfe der verwalteten Identität Ereignisse an Event Hubs in Ihrem Event Hubs-Namespace zu übermitteln:

  1. Aktivieren Sie eine system- oder benutzerseitig zugewiesene verwaltete Identität: Namespaces. Fahren Sie mit dem nächsten Abschnitt fort, um zu erfahren, wie Sie eine verwaltete Identität mithilfe der Azure CLI aktivieren.
  2. Fügen Sie die Identität der Azure Event Hubs Datensender-Rolle im Event Hubs-Namespace hinzu. Lesen Sie weiter im nächsten Abschnitt, um zu erfahren, wie Sie die Rollenzuweisung hinzufügen.
  3. Konfigurieren Sie dann das Ereignisabonnement, das einen Event Hub als Endpunkt verwendet, um die vom System zugewiesene Identität zu verwenden.

In diesem Abschnitt wird eine systemseitig zugewiesene verwaltete Identität für den Namespace aktiviert. Die anderen Schritte werden im weiteren Verlauf dieser Schnellstartanleitung ausgeführt.

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

  2. Wählen Sie auf der Seite Identität unter Status die Option Ein aus.

  3. Wählen Sie in der Befehlsleiste Speichern aus.

    Screenshot der Registerkarte „Identität“ der Seite „Event Grid Namespaces“.

Erstellen eines Themas im Namespace

Erstellten Sie ein Thema, um alle Ereignisse zu speichern, die am Namespaceendpunkt veröffentlicht werden.

  1. Wählen Sie im linken Menü die Option Themen aus.
  2. Wählen Sie auf der Seite Themen auf der Befehlsleiste die Option + Thema aus. Screenshot der Seite „Themen“.
  3. Gehen Sie auf der Seite Thema erstellen wie folgt vor:
    1. Geben Sie unter Name einen Namen für das Thema ein.
    2. Klicken Sie auf Erstellen.
      Screenshot der Seite „Thema erstellen“.

Erstellen eines Event Hubs-Namespace

Erstellen Sie eine Event Hubs-Ressource, die als Handlerziel für das Pushübermittlungsabonnement des Namespacethemas verwendet wird. Führen Sie diese Schritte auf einem separaten Tab Ihres Internetbrowsers oder in einem separaten Fenster aus. Navigieren Sie zum Azure-Portal, und melden Sie sich mit den zuvor verwendeten Anmeldeinformationen sowie mit dem gleichen Azure-Abonnement an.

  1. Geben Sie auf der Suchleiste Event Hubs ein, und wählen Sie Event Hubs aus.
  2. Wählen Sie auf der Seite Event Hubs auf der Befehlsleiste die Option + Erstellen aus.
  3. Führen Sie auf der Seite Namespace erstellen die folgenden Schritte aus:
    1. Wählen Sie unter Azure-Abonnement das Azure-Abonnement aus, das Sie zum Erstellen des Event Grid-Namespace verwendet haben.
    2. Wählen Sie unter Ressourcengruppe die zuvor verwendete Ressourcengruppe aus.
    3. Geben Sie unter Name einen Namen für den Event Hubs-Namespace ein.
    4. Wählen Sie unter Standort den Standort aus, den Sie für den Event Grid-Namespace verwendet haben.
    5. Wählen Sie unter Tarif die Option Basic aus.
    6. Klicken Sie auf Überprüfen + erstellen. Screenshot der Seite „Event Hubs-Namespace erstellen“.
    7. Wählen Sie auf der Seite Überprüfen die Option Erstellen aus.
  4. Wählen Sie nach erfolgreicher Bereitstellung auf der Seite Bereitstellung die Option Zu Ressource wechseln aus.

Hinzufügen der verwalteten Event Grid-Identität zur Rolle „Azure Event Hubs-Datensender“

  1. Wählen Sie auf der Seite Event Hubs-Namespace im linken Menü Zugriffssteuerung (IAM) aus.
  2. Wählen Sie auf der Befehlsleiste Hinzufügen>Rollenzuweisung hinzufügen aus. Screenshot der Seite „Event Hubs-Namespace“ mit ausgewählter Registerkarte „Access-Steuerelement“.
  3. Suchen Sie auf der Seite Rollenzuweisung hinzufügen nach Event Hubs-Datensender, wählen Sie Azure Event Hubs-Datensender aus der Liste der Rollen aus, und wählen Sie anschließend Weiter aus. Screenshot der Seite „Rollenzuweisung hinzufügen“.
  4. Wählen Sie auf der Registerkarte Mitglieder den Typ Verwaltete Identität und anschließend + Mitglieder auswählen aus. Screenshot der Registerkarte „Mitglieder“ auf dem Bildschirm „Rollenzuweisung“.
  5. Wählen Sie auf der Seite Wählen Sie verwaltete Identitäten aus unter Verwaltete Identität die Option Event Grid-Namespace und anschließend die verwaltete Identität aus, die den gleichen Namen hat wie der Event Grid-Namespace. Screenshot: Seite „Verwaltete Identitäten auswählen“
  6. Wählen Sie auf der Seite Wählen Sie verwaltete Identitäten aus die Option Auswählen aus: Screenshot der ausgewählten verwalteten Identität.
  7. Wählen Sie auf der Seite Rollenzuweisung hinzufügen die Option Überprüfen + zuweisen aus. Screenshot der Seite „Rollenzuweisung hinzufügen“ mit ausgewählter verwalteter Identität.
  8. Wählen Sie auf der Seite Überprüfen + zuweisen die Option Überprüfen + zuweisen aus.

Erstellen eines Ereignis-Hubs

  1. Wählen Sie auf der Seite Event Hubs-Namespace im linken Menü die Option Event Hubs aus.
  2. Wählen Sie auf der Seite Event Hubs auf der Befehlsleiste die Option + Event Hub aus. Screenshot der Seite „Event Hubs“, auf der + Event Hub ausgewählt ist.
  3. Geben Sie auf der Seite Event Hub erstellen einen Namen für den Event Hub ein, und wählen Sie anschließend Überprüfen + Erstellen aus. Screenshot der Seite „Event Hub erstellen“.
  4. Wählen Sie auf der Seite Überprüfen + erstellen die Option Erstellen aus.

Erstellen eines Ereignisabonnements

Erstellen Sie ein Ereignisabonnement, und legen Sie dabei den Übermittlungsmodus auf Push fest, um die Pushübermittlung zu unterstützen.

  1. Wechseln Sie von dem Tab oder Fenster mit der geöffneten Seite Event Hubs-Namespace zu dem Tab oder Fenster mit der geöffneten Seite Event Grid-Namespace.
  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 Thema aus, das Sie im vorherigen Schritt erstellt haben.
  4. Wählen Sie auf der Befehlsleiste die Option + Abonnement aus. Screenshot der Seite „Thema“ mit ausgewählter Schaltfläche „Abonnement erstellen“.
  5. Gehen Sie auf der Seite Ereignisabonnement erstellen wie folgt vor:
    1. Geben Sie auf der Registerkarte Basic unter Name einen Namen für das Ereignisabonnement ein.
    2. Wählen Sie für den Ereignisübermittlungsmodus die Option Push aus.
    3. Vergewissern Sie sich, dass für Endpunkttyp die Option Event Hub ausgewählt ist.
    4. Wählen Sie Endpunkt konfigurieren aus. Screenshot der Seite „Abonnement erstellen“, auf der „Push“ als Übermittlungsmodus ausgewählt ist.
    5. Führen Sie auf der Seite Event Hub auswählen die folgenden Schritte aus:
      1. Wählen Sie unter Azure-Abonnement und Ressourcengruppe die entsprechenden Optionen aus, die über den Event Hub verfügen.
      2. Wählen Sie unter Event Hubs-Namespace und Event Hub die entsprechenden Optionen aus.
      3. 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. Screenshot der Seite „Abonnement erstellen“ mit „Vom System zugewiesen“ als Typ der verwalteten Identität eingestellt.
    7. Klicken Sie auf Erstellen.

Senden von Ereignissen an Ihr Thema

Senden Sie nun ein Beispielereignis an das Namespacethema, indem Sie die Schritte in diesem Abschnitt ausführen.

  1. Starten Sie Cloud Shell im Azure-Portal. Wechseln Sie zu Bash.

    Screenshot des Symbols für Cloud Shell.

  2. Führen Sie in Cloud Shell den folgenden Befehl aus, um eine Variable zum Speichern des Zugriffsschlüssels für den Namespace zu deklarieren. Den Zugriffsschlüssel haben Sie weiter oben in diesem Schnellstart notiert.

    key=ACCESSKEY
    
  3. Deklarieren Sie eine Variable zum Speichern des URI für den Veröffentlichungsvorgang. Ersetzen Sie NAMESPACENAME durch den Namen Ihres Event Grid-Namespace und TOPICNAME durch den Namen des Themas.

    publish_operation_uri=https://NAMESPACENAME.eastus-1.eventgrid.azure.net/topics/TOPICNAME:publish?api-version=2023-06-01-preview
    
  4. Erstellen Sie ein CloudEvents-kompatibles Beispielereignis:

    event=' { "specversion": "1.0", "id": "'"$RANDOM"'", "type": "com.yourcompany.order.ordercreatedV2", "source" : "/mycontext", "subject": "orders/O-234595", "time": "'`date +%Y-%m-%dT%H:%M:%SZ`'", "datacontenttype" : "application/json", "data":{ "orderId": "O-234595", "url": "https://yourcompany.com/orders/o-234595"}} '
    

    Bei dem data-Element handelt es sich um die Nutzlast Ihres Ereignisses. Für dieses Feld kann ein beliebiger wohlgeformter JSON-Code verwendet werden. Weitere Informationen zu Eigenschaften (auch als Kontextattribute bezeichnet), die in ein Ereignis einfließen können, finden Sie in den CloudEvents-Spezifikationen.

  5. Verwenden Sie CURL, um das Ereignis an das Thema zu senden. CURL ist ein Hilfsprogramm zum Senden von HTTP-Anforderungen.

    curl -X POST -H "Content-Type: application/cloudevents+json" -H "Authorization:SharedAccessKey $key" -d "$event" $publish_operation_uri
    

    Navigieren Sie im Azure-Portal zur Seite Event Hubs-Namespace, aktualisieren Sie die Seite, und vergewissern Sie sich, dass der Indikator für eingehende Nachrichten im Diagramm angibt, dass ein Ereignis empfangen wurde.

    Screenshot der Seite „Event Hub“ mit Diagramm, in dem ein Ereignis empfangen wurde.

Nächste Schritte

In diesem Artikel haben gelernt, wie Sie den Event Grid Namespace und die Event Hubs Ressourcen erstellen und konfigurieren. Schritt-für-Schritt-Anleitungen zum Empfangen von Ereignissen von einem Event Hub finden Sie in den folgenden Tutorials: