Verarbeiten von Daten aus einem Event Hub mit Azure Stream Analytics

Der Azure Stream Analytics-Dienst vereinfacht das Erfassen, Verarbeiten und Analysieren von Streamingdaten von Azure Event Hubs und ermöglicht damit Erkenntnisse für Aktionen in Echtzeit. Sie können im Azure-Portal eingehende Daten visualisieren und eine Stream Analytics-Abfrage schreiben. Wenn die Abfrage fertig ist, können Sie sie mit nur wenigen Klicks in die Produktion verschieben.

Hauptvorteile

Hier sind die wichtigsten Vorteile der Integration von Azure Event Hubs mit Azure Stream Analytics:

  • Datenvorschau: Sie können eine Vorschau der eingehenden Daten von einem Event Hub im Azure-Portal anzeigen.
  • Abfragetests: Sie können eine Transformationsabfrage vorbereiten und direkt im Azure-Portal testen. Informationen zur Syntax der Abfrage finden Sie in der Dokumentation zur Stream Analytics-Abfragesprache.
  • Abfragebereitstellung in der Produktion: Sie können die Abfrage in der Produktion bereitstellen, indem Sie einen Azure Stream Analytics-Auftrag erstellen und starten.

Der vollständige Ablauf

Wichtig

  • Wenn Sie auf der Azure-Abonnementebene nicht Mitglied der Rollen Besitzer oder Mitwirkender sind, müssen Sie auf der Azure-Abonnementebene Mitglied der Rolle Stream Analytics Query Tester sein, um die Schritte in diesem Abschnitt erfolgreich durchzuführen. Mit dieser Rolle können Sie Testabfragen ausführen, ohne zuerst einen Stream Analytics-Auftrag zu erstellen. Anweisungen zum Zuweisen einer Rolle zu einem Benutzer finden Sie unter Zuweisen von AD-Rollen zu Benutzern.
  • Wenn Ihr Event Hub nur den privaten Zugriff über private Endpunkte zulässt, muss der Stream Analytics-Auftrag mit demselben Netzwerk verbunden sein, damit der Auftrag auf Ereignisse im Event Hub zugreifen kann.
  1. Melden Sie sich beim Azure-Portal an.

  2. Navigieren Sie zu Ihrem Event Hubs-Namespace und dann zu dem Event Hub mit den eingehenden Daten.

  3. Erweitern Sie im linken Navigationsmenü die Option Features, wählen Sie Daten verarbeiten aus, und wählen Sie dann auf der Kachel Ermöglichen Sie Erkenntnisse aus Ereignissen in Echtzeit die Option Starten aus.

    Screenshot: Seite „Daten verarbeiten“ mit ausgewählter Kachel“Echtzeiterkenntnisse aus Ereignissen aktivieren“.

  4. Daraufhin wird eine Abfrageseite angezeigt, auf der bereits Werte für die folgenden Felder festgelegt sind: Wenn ein Popupfenster mit dem Hinweis angezeigt wird, dass eine Consumergruppe und eine Richtlinie für Sie erstellt werden, wählen Sie OK aus. Es wird sofort eine Momentaufnahme der neuesten eingehenden Daten auf dieser Registerkarte angezeigt.

    1. Ihr Event Hub hat eine Eingabe für die Abfrage.

    2. Ein Beispiel, das eine SQL-Abfrage mit SELECT-Anweisung ist.

    3. Ein Alias für die Ausgabe ermöglicht das Verweisen auf Ihre Abfragetestergebnisse.

      Screenshot: Abfrage-Editor für Ihre Stream Analytics-Abfrage.

    • Der Serialisierungstyp in Ihren Daten wird automatisch erkannt (JSON/CSV). Sie können ihn manuell in JSON, CSV oder AVRO ändern.

    • Sie können eine Vorschau der eingehenden Daten im Tabellenformat oder unformatiert anzeigen.

    • Wenn die angezeigten Daten nicht aktuell sind, wählen Sie Aktualisieren aus, um die neuesten Ereignisse anzuzeigen.

    • Die obige Abbildung zeigt die Ergebnisse im Tabellenformat. Wenn Sie die Rohdaten anzeigen möchten, können Sie Unformatiert auswählen.

      Screenshot: Eingabevorschaufenster im Ergebnisbereich der Seite „Daten verarbeiten“ mit unformatierten Daten.

  5. Wählen Sie Testabfrage, um die Momentaufnahme der Testergebnisse Ihrer Abfrage auf der Registerkarte Testergebnisse zu sehen. Sie können die Ergebnisse auch herunterladen.

    Screenshot: Eingabevorschaufenster im Ergebnisbereich mit Testergebnissen.

    Schreiben Sie eine eigene Abfrage zum Transformieren der Daten. Weitere Informationen finden Sie in der Referenz zur Stream Analytics-Abfragesprache.

  6. Wenn Sie die Abfrage getestet haben und sie in die Produktion überführen möchten, wählen Sie Stream Analytics-Auftrag erstellen aus.

    Screenshot: Abfrageseite mit ausgewähltem Link „Stream Analytics-Auftrag erstellen“.

  7. Führen Sie auf der Seite Neuer Stream Analytics-Auftrag die folgenden Schritte aus:

    1. Geben Sie einen Namen für den Auftrag an.

    2. Wählen Sie Ihr Azure-Abonnement aus, in dem der Auftrag erstellt werden soll.

    3. Wählen Sie die Ressourcengruppe für die Stream Analytics-Auftragsressource aus.

    4. Wählen Sie den Speicherort für den Auftrag aus.

    5. Erstellen Sie für den Namen der Event Hubs-Richtlinie eine neue Richtlinie, oder wählen Sie eine vorhandene Richtlinie aus.

    6. Erstellen Sie für die Event Hubs-Consumergruppe eine neue Consumergruppe, oder wählen Sie eine vorhandene Consumergruppe aus.

    7. Wählen Sie Erstellen aus, um den Stream Analytics-Auftrag zu erstellen.

      Screenshot: Fenster „Neuer Stream Analytics-Auftrag“.

      Hinweis

      Es wird empfohlen, dass Sie eine Consumergruppe und eine Richtlinie für jeden neuen Azure Stream Analytics-Auftrag erstellen, den Sie auf der Event Hubs-Seite erstellen. Consumergruppen erlauben nur fünf Leser gleichzeitig. Wenn Sie also für jeden Auftrag eine dedizierte Consumergruppe bereitstellen, vermeiden Sie mögliche Fehler durch das Überschreiten dieses Grenzwerts. Eine dedizierte Richtlinie ermöglicht das Rotieren Ihres Schlüssels oder das Widerrufen von Berechtigungen ohne Auswirkungen auf andere Ressourcen.

  8. Ihr Stream Analytics-Auftrag wurde damit erstellt – die Abfrage ist identisch mit Ihrer getesteten, und die Eingabe ist Ihr Event Hub.

    Screenshot: Seite „Stream Analytics-Auftrag“ mit einem Link zum Hinzufügen einer Ausgabe.

  9. Fügen Sie eine Ausgabe Ihrer Wahl hinzu.

  10. Navigieren Sie zurück zur Seite „Stream Analytics-Auftrag“, indem Sie auf den Namen des Auftrags im Breadcrumblink klicken.

  11. Wählen Sie Abfrage bearbeiten über dem Abfragefenster aus.

  12. Aktualisieren Sie [OutputAlias] mit Ihrem Ausgabenamen, und wählen Sie den Link Abfrage speichern über der Abfrage aus. Schließen Sie die Abfrageseite, indem Sie in der oberen rechten Ecke X auswählen.

  13. Wählen Sie nun auf der Seite „Stream Analytics-Auftrag“ auf der Symbolleiste Starten aus, um den Auftrag zu starten.

    Screenshot: Seite „Auftrag starten“ für einen Stream Analytics-Auftrag.

Zugriff

Problem: Benutzer können nicht auf Vorschaudaten zugreifen, weil sie nicht über die richtigen Berechtigungen für das Abonnement verfügen.

Option 1: Der Benutzer, der eine Vorschau eingehender Daten anzeigen möchte, muss als Mitwirkender für das Abonnement hinzugefügt werden.

Option 2: Der Benutzer muss mit der Rolle „Stream Analytics-Abfragetester“ für das Abonnement hinzugefügt werden. Navigieren Sie zur Zugriffssteuerung für das Abonnement. Fügen Sie eine neue Rollenzuweisung für den Benutzer mit der Rolle „Stream Analytics-Abfragetester“ hinzu.

Option 3: Der Benutzer kann einen Azure Stream Analytics-Auftrag erstellen. Legen Sie als Eingabe diesen Event Hub fest, und navigieren Sie zu „Abfrage“, um eine Vorschau eingehender Daten aus diesem Event Hub anzuzeigen.

Option 4: Der Administrator kann eine benutzerdefinierte Rolle im Abonnement erstellen. Fügen Sie die folgenden Berechtigungen zur benutzerdefinierten Rolle und dann einen Benutzer zur neuen benutzerdefinierten Rolle hinzu.

Screenshots: Seite „Microsoft.StreamAnalytics-Berechtigungen“.

Streamingeinheiten

Ihr Azure Stream Analytics-Auftrag nutzt standardmäßig drei Streamingeinheiten (SUs). Wählen Sie zum Anpassen dieser Einstellung im linken Menü auf der Seite des Stream Analytics-Auftrags im Azure-Portal Skalieren aus. Weitere Informationen zu Streamingeinheiten finden Sie unter Verstehen und Anpassen von Streamingeinheiten.

Screenshots: Seite „Skalierung“ für einen Stream Analytics-Auftrag.

Überlegungen bei der Verwendung des Georeplikationsfeatures von Event Hubs

Für Azure Event Hubs wurde kürzlich das Feature Georeplikation in der Public Preview eingeführt. Dieses Feature unterscheidet sich vom Feature Georedundante Notfallwiederherstellung von Azure Event Hubs.

Wenn der Failovertyp Erzwungen und die Replikationskonsistenz Asynchron ist, garantiert der Stream Analytics-Auftrag nicht, dass genau eine Ausgabe in Azure Event Hubs erfolgt.

Als Producer mit einem Event Hub als Ausgabe kann in Azure Stream Analytics eine Wasserzeichenverzögerung für den Auftrag während eines Failovers und während der Drosselung durch Event Hubs auftreten, falls die Replikationsverzögerung zwischen dem primären und dem sekundären Replikat die maximale konfigurierte Verzögerung erreicht.

Als Consumer mit Event Hubs als Eingabe kann in Azure Stream Analytics während eines Failovers eine Wasserzeichenverzögerung auftreten, und es können nach dem Abschluss des Failovers Daten übersprungen werden oder doppelte Daten auftreten.

Aufgrund dieser Nachteile empfehlen wir, den Stream Analytics-Auftrag mit entsprechender Startzeit direkt nach Abschluss des Event Hubs-Failovers neu zu starten. Da sich das Georeplikationsfeature von Event Hubs zudem in der Public Preview befindet, wird derzeit nicht empfohlen, dieses Muster für Stream Analytics-Aufträge in der Produktion zu verwenden. Das aktuelle Stream Analytics-Verhalten wird verbessert, bevor das Event Hubs-Georeplikationsfeature allgemein verfügbar ist und in Stream Analytics-Produktionsaufträgen verwendet werden kann.

Erfahren Sie mehr über Stream Analytics-Abfragen unter Stream Analytics-Abfragesprache.