Senden von Clientereignissen an Event Hubs

Hinweis

Das Ereignislistenerfeature befindet sich in der Vorschauphase. Das Senden von MQTT-Clientereignissen an Ereignislistener wird noch nicht unterstützt.

Übersicht

Wenn Sie Ihre Clientereignisse überwachen möchten, ohne einen öffentlich zugänglichen Endpunkt verfügbar zu machen, können Sie eine Ereignislistenerregel mit einem Event Hub-Endpunkt konfigurieren und einen Filter festlegen der angibt, welche Arten von Ereignissen betroffen sind. Sie können mehrere Ereignislistener gleichzeitig konfigurieren. Der Web PubSub-Dienst benachrichtigt alle Ereignislistener parallel, wenn ein Clientereignis eintrifft.

In diesem Tutorial erfahren Sie, wie Sie Ihren Web PubSub-Dienst dazu autorisieren, eine Verbindung mit Event Hubs herzustellen, und wie Sie Ihren Diensteinstellungen eine Ereignislistenerregel hinzufügen.

Der Web PubSub-Dienst verwendet Microsoft Entra ID mit verwalteter Identität, um eine Verbindung mit Event Hubs herzustellen. Daher sollten Sie die verwaltete Identität des Diensts aktivieren und sicherstellen, dass er über die passenden Berechtigungen zum Herstellen einer Verbindung mit Event Hubs verfügt. Sie können der verwalteten Identität die integrierte Rolle Azure Event Hubs-Datensender zuweisen, damit sie über ausreichende Berechtigungen verfügt.

Sie konfigurieren einen Event Hubs-Listener folgendermaßen:

Konfigurieren eines Ereignislisteners

Hinzufügen einer verwalteten Identität zu Ihrem Web PubSub-Dienst

Suchen Sie Ihren Azure Web PubSub-Dienst über Azure-Portal. Navigieren Sie zu Identität. Ändern Sie zum Hinzufügen einer systemseitig zugewiesenen Identität auf der Registerkarte Vom System zugewiesen den Status in Ein. Wählen Sie Speichern. Weitere Informationen zu verwalteten Identitäten finden Sie unter Verwaltete Identitäten in Azure Web PubSub.

Screenshot des Hinzufügens einer systemseitig zugewiesenen Identität im Portal

Erteilen der Rolle Azure Event Hubs Data sender für die verwaltete Identität

  1. Suchen Sie Ihre Azure Event Hubs-Ressource im Azure-Portal. Sie können die Rolle auf der Namespace- oder Entitätsebene von Event Hubs erteilen. In den folgenden Schritten wird die Namespaceebene verwendet.

  2. Navigieren Sie zu Zugriffssteuerung. Wählen Sie Rollenzuweisung hinzufügen aus. Screenshot des Gewährens von Zugriff auf den Event Hubs-Namespace

  3. Wählen Sie auf der Registerkarte Rolle die Rolle Azure Event Hubs-Datensender aus. Wählen Sie dann Weiter aus. Screenshot des Auswählens der Rolle „Azure Event Hubs-Datensender“

  4. Wählen Sie auf der Registerkarte Mitglieder aus, den Zugriff auf Verwaltete Identität zuzuweisen. Wählen Sie Mitglieder auswählen aus, um Ihren Web PubSub-Dienst auszuwählen. Anschließend können Sie Ihre Rollenzuweisung Überprüfen + zuweisen. Screenshot des Auswählens der Web PubSub-Dienstidentität

Hinzufügen einer Ereignislistenerregel zu Ihren Diensteinstellungen

  1. Suchen Sie Ihren Dienst im Azure-Portal. Navigieren zu Einstellungen. Wählen Sie dann Hinzufügen aus, um den Ereignislistener zu konfigurieren. Wenn Sie für eine vorhandene Hubkonfiguration die Auslassungspunkte (...) auf der rechten Seite auswählen, gelangen Sie zur gleichen Bearbeitungsseite. Screenshot der Web PubSub-Einstellungen

  2. Anschließend müssen Sie auf der folgenden Bearbeitungsseite den Hubnamen konfigurieren und Hinzufügen auswählen, um einen Ereignislistener hinzuzufügen. Screenshot des Konfigurierens von Hubeinstellungen

  3. Konfigurieren Sie auf der Seite Ereignislistener konfigurieren zunächst einen Event Hub-Endpunkt. Sie können dazu die Option Event Hub aus Ihrem Abonnement auswählen verwenden oder den vollqualifizierten Namespace und den Event Hub-Namen direkt eingeben. Wählen Sie dann die user- und system-Ereignisse aus, auf die Sie lauschen möchten. Wählen Sie abschließend Bestätigen aus. Screenshot des Konfigurierens des Event Hubs-Listeners

Testen Ihrer Konfiguration mit Livedemo

  1. Öffnen Sie diese Event Hubs-Consumerclient-Web-App, und geben Sie die Event Hubs-Verbindungszeichenfolge ein, um eine Verbindung mit einem Event Hub als Consumer herzustellen. Wenn Sie die Event Hubs-Verbindungszeichenfolge von einer Event Hubs-Namespaceressource anstelle einer Event Hub-Instanz abrufen, müssen Sie den Event Hub-Namen angeben. Dieser Event Hub-Consumerclient ist mit dem Modus verbunden, in dem nur neue Ereignisse gelesen werden. Die zuvor veröffentlichten Ereignisse werden hier nicht angezeigt. Sie können den Verbindungsmodus des Consumerclients ändern, sodass alle verfügbaren Ereignisse in der Produktionsumgebung gelesen werden.

  2. Verwenden Sie diese WebSocket-Client-Web-App, um Clientereignisse zu generieren. Wenn Sie das Senden des Systemereignisses connected an diesen Event-Hub konfiguriert haben, sollte nach erfolgreicher Verbindung mit dem Web PubSub-Dienst ein connected-Ereignis im Event Hubs-Consumerclient angezeigt werden. Sie können auch mit der App ein Benutzerereignis generieren. Screenshot eines ausgegebenen Verbindungsereignisses in der Event Hubs-Consumerclient-AppScreenshot des Bereichs der WebSocket-Client-App zum Generieren eines Benutzerereignisses

Nächste Schritte

In diesem Artikel haben Sie erfahren, wie Ereignislistener funktionieren und wie Sie einen Ereignislistener mit einem Event Hub-Endpunkt konfigurieren. Informationen zu dem an Event Hubs gesendeten Datenformat finden Sie in der folgenden Spezifikation.