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:
- Senden von Clientereignissen an Event Hubs
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.
Erteilen der Rolle Azure Event Hubs Data sender
für die verwaltete Identität
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.
Navigieren Sie zu Zugriffssteuerung. Wählen Sie Rollenzuweisung hinzufügen aus.
Wählen Sie auf der Registerkarte Rolle die Rolle Azure Event Hubs-Datensender aus. Wählen Sie dann Weiter aus.
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.
Hinzufügen einer Ereignislistenerregel zu Ihren Diensteinstellungen
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.
Anschließend müssen Sie auf der folgenden Bearbeitungsseite den Hubnamen konfigurieren und Hinzufügen auswählen, um einen Ereignislistener hinzuzufügen.
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
- undsystem
-Ereignisse aus, auf die Sie lauschen möchten. Wählen Sie abschließend Bestätigen aus.
Testen Ihrer Konfiguration mit Livedemo
Ö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.
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 einconnected
-Ereignis im Event Hubs-Consumerclient angezeigt werden. Sie können auch mit der App ein Benutzerereignis generieren.
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.