Senden von Clientereignissen an Event Hubs

Ü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 relevanten Ereignislistener parallel, wenn ein Clientereignis eingeht.

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. Um eine vom System zugewiesene Identität hinzuzufügen, setzen Sie auf der Registerkarte Vom System zugewiesen den Status auf 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

Weisen Sie der verwalteten Identität die Rolle Azure Event Hubs Data sender zu.

  1. Suchen Sie Ihre Azure Event Hubs-Ressource im Azure-Portal. Sie können auswählen, ob Sie die Rolle auf Namespace- oder Entitätsebene in Event Hubs gewähren. Die folgenden Schritte wählen die Namespace-Ebene aus.

  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 der Auswahl Ihrer Web PubSub-Dienstidentität

Fügen Sie Ihren Serviceeinstellungen eine Ereignis-Listener-Regel hinzu.

  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 bei einer vorhandenen Hubkonfiguration rechts ... auswählen, gelangen Sie auf dieselbe 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. Auf der Seite Ereignis-Listener konfigurieren konfigurieren Sie 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, sobald alles erledigt ist. 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 Client-Ereignisse zu generieren. Wenn Sie das Systemereignis connected so konfiguriert haben, dass es an diesen Event Hub gesendet wird, sollten Sie nach einer erfolgreichen Verbindung mit dem Web PubSub-Dienst im Consumerclient von Event Hubs ein ausgegebenes connected-Ereignis sehen können. Sie können auch mit der App ein Benutzerereignis generieren. Screenshot eines ausgegebenen Verbindungsereignisses in der Event Hubs-Consumer-Client-App. Screenshot des Bereichs in 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.