Abrufen von Daten aus Azure Event Hubs
In diesem Artikel erfahren Sie, wie Sie Daten aus Event Hubs in Ihre KQL-Datenbank in Microsoft Fabric abrufen. Azure Event Hubs ist eine Big Data-Streamingplattform und ein Ereigniserfassungsdienst, der Millionen von Ereignissen pro Sekunde verarbeiten und weiterleiten kann.
Um Daten aus Event Hubs in Real-Time Intelligence zu streamen, führen Sie zwei Standardschritte aus. Der erste Schritt wird im Azure-Portal ausgeführt, in dem Sie die SAS-Richtlinie für Ihren Event Hub Instanz definieren und die Details erfassen, die für eine spätere Verbindung über diese Richtlinie erforderlich sind.
Der zweite Schritt erfolgt in Real-Time Intelligence in Fabric, in dem Sie eine KQL-Datenbank mit dem Event Hub verbinden und das Schema für eingehende Daten konfigurieren. In diesem Schritt werden zwei Verbindungen erstellt. Die erste Verbindung, die als „Cloudverbindung“ bezeichnet wird, verbindet Microsoft Fabric mit der Event Hub-Instanz. Die zweite Verbindung verbindet die „Cloudverbindung“ mit Ihrer KQL-Datenbank. Nachdem Sie die Konfiguration der Ereignisdaten und des Schemas abgeschlossen haben, stehen die gestreamten Daten für Abfragen mithilfe eines KQL-Abfragesets zur Verfügung.
Voraussetzungen
- Ein Azure-Abonnement. Erstellen Sie ein kostenloses Azure-Konto.
- Ein Event Hub
- Ein Arbeitsbereich mit einer Microsoft Fabric-fähigen Kapazität
- Eine KQL-Datenbank mit Bearbeitungsberechtigungen
Warnung
Ihr Event Hub darf sich nicht hinter einer Firewall befinden.
Festlegen einer SAS-Richtlinie für Ihren Event Hub
Bevor Sie eine Verbindung mit Ihren Event Hubs-Daten herstellen können, müssen Sie eine SAS (Shared Access Policy) auf dem Event Hub festlegen und einige Informationen sammeln, die später beim Einrichten der Verbindung verwendet werden sollen. Weitere Informationen zum Autorisieren des Zugriffs auf Event Hubs-Ressourcen finden Sie unter Shared Access Signatures.
Navigieren Sie im Azure-Portal zu der Event Hubs-Instanz, mit der Sie eine Verbindung herstellen möchten.
Wählen Sie unter Einstellungen die Option SAS-Richtlinien aus.
Wählen Sie + Hinzufügen aus, um eine neue SAS-Richtlinie hinzuzufügen, oder wählen Sie eine vorhandene Richtlinie mit der Berechtigung Verwalten aus.
Geben Sie einen Richtliniennamen ein.
Wählen Sie Verwalten und dann Erstellen aus.
Sammeln von Informationen für die Cloudverbindung
Notieren Sie sich im Bereich „SAS-Richtlinie“ die folgenden vier Felder. Sie sollten diese Felder kopieren und an einer beliebigen Stelle einfügen, z. B. in einem Editor, um sie in einem späteren Schritt zu verwenden.
Feldverweis | Feld | Beschreibung | Beispiel |
---|---|---|---|
a | Event Hubs-Instanz | Der Name der Event Hub-Instanz | iotdata |
b | SAS-Richtlinie | Der SAS-Richtlinienname, der im vorherigen Schritt erstellt wurde | DocsTest |
c | Primärschlüssel | Der der SAS-Richtlinie zugeordnete Schlüssel | Beginnt in diesem Beispiel mit PGGIISb009... |
d | Verbindungszeichenfolge – Primärschlüssel | In diesem Feld möchten Sie nur den Event Hub-Namespace kopieren, der als Teil der Verbindungszeichenfolge gefunden werden kann. | eventhubpm15910.servicebus.windows.net |
Source
Wählen Sie im unteren Menüband Ihrer KQL-Datenbank Daten abrufen aus.
Im Fenster Daten abrufen ist die Registerkarte Quelle ausgewählt.
Wählen Sie die Datenquelle aus der verfügbaren Liste aus. In diesem Beispiel nehmen Sie Daten aus Event Hubsauf.
Konfigurieren
Wählen Sie eine Zieltabelle aus. Wenn Sie Daten in einer neuen Tabelle erfassen möchten, wählen Sie +Neue Tabelle aus, und geben Sie einen Tabellennamen ein.
Hinweis
Tabellennamen können bis zu 1024 Zeichen umfassen und alphanumerische Zeichen, Bindestriche und Unterstriche enthalten. Sonderzeichen werden nicht unterstützt.
Wählen Sie entweder Neue Verbindung erstellen, oder wählen Sie Bestehende Verbindung aus und springen Sie zum nächsten Schritt.
Neue Verbindung erstellen
Füllen Sie die Verbindungseinstellungen gemäß der folgenden Tabelle aus:
Einstellung Beschreibung Beispielswert Event Hub-Namespace Feld d aus der obigen Tabelle eventhubpm15910.servicebus.windows.net Event Hub Feld a aus der obigen Tabelle. Der Name der Event Hub-Instanz iotdata Verbindung Um eine vorhandene Cloudverbindung zwischen Fabric und Event Hubs zu verwenden, wählen Sie den Namen dieser Verbindung aus. Wählen Sie andernfalls Neue Verbindung erstellen aus. Neue Verbindung erstellen Verbindungsname Der Name Ihrer neuen Cloudverbindung. Dieser Name wird automatisch generiert, kann aber überschrieben werden. Der Name muss innerhalb des Fabric-Mandanten eindeutig sein. Verbindung Authentifizierungsart Wird automatisch aufgefüllt. Derzeit wird nur der freigegebene Zugriffsschlüssel unterstützt. Schlüssel für den gemeinsamen Zugriff Name des freigegebenen Zugriffsschlüssels Feld b aus der obigen Tabelle. Der Name, den Sie der SAS-Richtlinie gegeben haben. DocsTest Schlüssel für den gemeinsamen Zugriff Feld c aus der obigen Tabelle. Der Primärschlüssel der SAS-Richtlinie. Wählen Sie Speichern aus. Eine neue Clouddatenverbindung zwischen Fabric und Event Hubs wird erstellt.
Verbinden der Cloudverbindung mit Ihrer KQL-Datenbank
Unabhängig davon, ob Sie eine neue Cloud-Verbindung erstellt haben oder eine bestehende verwenden, müssen Sie die Consumergruppe definieren. Sie können optional Parameter festlegen, die Aspekte der Verbindung zwischen der KQL-Datenbank und der Cloudverbindung weiter definieren.
Füllen Sie die folgenden Felder entsprechend der Tabelle aus:
Einstellung Beschreibung Beispielswert Consumergruppe Die in Ihrem Event Hub definierte relevante Consumergruppe. Weitere Informationen finden Sie unter Consumergruppen. Nachdem Sie eine neue Consumergruppe hinzugefügt haben, müssen Sie diese Gruppe in der Dropdownliste auswählen. NewConsumer Weitere Parameter Komprimierung Datenkomprimierung der Ereignisse, wie sie vom Event Hub stammen. Die Optionen sind „Keine“ (Standard) oder „GZip-Kompression“. None Ereignissystemeigenschaften Weitere Informationen finden Sie unter Systemeigenschaften von Event Hubs. Wenn pro Ereignisnachricht mehrere Datensätze vorhanden sind, werden die Systemeigenschaften dem ersten Datensatz hinzugefügt. Weitere Informationen finden Sie unter Eventsystemeigenschaften. Startdatum des Ereignisabrufs Die Datenverbindung ruft vorhandene Event Hub-Ereignisse ab, die seit dem Startdatum des Ereignisabrufs erstellt wurden. Es können nur Ereignisse abgerufen werden, die vom Event Hub auf der Grundlage des Aufbewahrungszeitraums aufbewahrt werden. Die Zeitzone ist UTC. Wenn keine Zeit angegeben wird, ist die Standardzeit der Zeitpunkt, zu dem die Datenverbindung erstellt wird. Wählen Sie Weiter, um mit der Registerkarte Untersuchen fortzufahren.
Ereignissystemeigenschaften
Systemeigenschaften speichern vom Event Hubs-Dienst festgelegte Eigenschaften, wenn das Ereignis in die Warteschlange eingereiht wird. Die Datenverbindung mit dem Event Hub kann ausgewählte Systemeigenschaften basierend auf einer bestimmten Zuordnung in die in einer Tabelle erfassten Daten einbetten.
Eigenschaft | Datentyp | Beschreibung |
---|---|---|
x-opt-enqueued-time | datetime | UTC-Zeit, zu der das Ereignis in die Warteschlange eingereiht wurde. |
x-opt-sequence-number | long | Die logische Folgenummer des Ereignisses innerhalb des Partitionsdatenstroms des Event Hubs. |
x-opt-offset | Zeichenfolge | Der Offset des Ereignisses vom Event Hub-Partitionsdatenstrom. Der Offsetbezeichner ist innerhalb einer Partition des Event Hub-Datenstroms eindeutig. |
x-opt-publisher | Zeichenfolge | Der Name des Herausgebers, wenn die Nachricht an einen Herausgeberendpunkt gesendet wurde. |
x-opt-partition-key | Zeichenfolge | Der Partitionsschlüssel der entsprechenden Partition, in der das Ereignis gespeichert wurde. |
Inspizieren
Um den Erfassungsvorgang abzuschließen, wählen Sie Fertig stellen aus.
Optional:
In der Befehlsanzeige können Sie die aus Ihren Eingaben generierten automatischen Befehle anzeigen und kopieren.
Ändern Sie das automatisch abgeleitete Datenformat, indem Sie das gewünschte Format aus der Dropdownliste auswählen. Daten werden in Form von EventData-Objekten aus dem Event Hub gelesen. Die folgenden Formate werden unterstützt: CSV, JSON, PSV, SCsv, SOHsv TSV, TXT und TSVE.
Erkunden Sie Erweiterte Optionen basierend auf dem Datentyp.
Sind die im Vorschaufenster angezeigten Daten nicht vollständig, benötigen Sie möglicherweise mehr Daten, um eine Tabelle mit allen erforderlichen Datenfeldern zu erstellen. Verwenden Sie die folgenden Befehle, um neue Daten aus Ihrem Event Hub abzurufen:
- Verwerfen und neue Daten abrufen: Die dargestellten Daten werden verworfen, und es wird nach neuen Ereignissen gesucht.
- Fetch more data (Weitere Daten abrufen): Zusätzlich zu den bereits gefundenen Ereignissen wird nach weiteren Ereignissen gesucht.
Bearbeiten von Spalten
Hinweis
- Bei Tabellenformaten (CSV, TSV, PSV) können Sie eine Spalte nicht zweimal zuordnen. Löschen Sie bei einer Zuordnung zu einer vorhandenen Spalte zunächst die neue Spalte.
- Der Typ einer vorhandenen Spalte kann nicht geändert werden. Wenn Sie als Zuordnungsziel eine Spalte mit einem anderen Format verwenden, erhalten Sie ggf. leere Spalten.
Die Änderungen, die Sie an einer Tabelle vornehmen können, hängen von den folgenden Parametern ab:
- Die Tabelle ist neu oder vorhanden.
- Die Zuordnung ist neu oder vorhanden.
Tabellentyp | Zuordnungstyp | Verfügbare Anpassungen |
---|---|---|
Neue Tabelle | Neue Zuordnung | Spalte umbenennen, Datentyp ändern, Datenquelle ändern, Zuordnungstransformation, Spalte hinzufügen, Spalte löschen |
Vorhandene Tabelle | Neue Zuordnung | Spalte hinzufügen (für die Sie dann den Datentyp ändern und die Sie umbenennen und aktualisieren können) |
Vorhandene Tabelle | Vorhandene Zuordnung | Keine |
Zuordnungstransformationen
Einige der Datenformatzuordnungen (Parquet, JSON und Avro) unterstützen einfache Transformationen während der Erfassung. Erstellen oder aktualisieren Sie zum Anwenden von Zuordnungstransformationen eine Spalte im Fenster Spalten bearbeiten.
Zuordnungstransformationen können für eine Spalte ausgeführt werden, für die als Typ der Wert „string“ oder „datetime“ und für Quelle der Datentyp „int“ oder „long“ angegeben ist. Die folgenden Zuordnungstransformationen werden unterstützt:
- DateTimeFromUnixSeconds
- DateTimeFromUnixMilliseconds
- DateTimeFromUnixMicroseconds
- DateTimeFromUnixNanoseconds
Schemazuordnung für Event Hubs Capture Avro-Dateien
Eine Möglichkeit zum Nutzen von Event Hubs-Daten besteht darin, Ereignisse über Azure Event Hubs in Azure Blob Storage oder Azure Data Lake Storage aufzuzeichnen. Sie können dann die Aufzeichnungsdateien erfassen, während sie geschrieben werden, mithilfe einer Event Grid-Datenverbindung.
Das Schema der Aufzeichnungsdateien unterscheidet sich von dem Schema des Originalereignisses, das an Event Hubs gesendet wird. Sie sollten diesen Unterschied beim Entwerfen des Zieltabellenschemas berücksichtigen. Insbesondere wird die Ereignisnutzlast in der Aufzeichnungsdateien als Bytearray dargestellt, und dieses Array wird nicht automatisch von der Event Grid Azure Data Explorer-Datenverbindung decodiert. Weitere spezifische Informationen zum Dateischema für Event Hubs Avro-Aufzeichnungsdaten finden Sie unter Erkunden aufgezeichneter Avro-Dateien in Azure Event Hubs.
So decodieren Sie die Ereignisnutzlast ordnungsgemäß
- Ordnen Sie das Feld
Body
des aufgezeichneten Ereignisses einer Spalte des Typsdynamic
in der Zieltabelle zu. - Wenden Sie eine Aktualisierungsrichtlinie an, die das Bytearray mithilfe der unicode_codepoints_to_string()-Funktion in eine lesbare Zeichenfolge konvertiert.
Erweiterte Optionen basierend auf dem Datentyp
Tabellarisch (CSV, TSV, PSV):
Wenn Sie Tabellenformate in eine bestehende Tabelle übernehmen, wählen Sie Erweitert>Tabellenschema beibehalten aus. Tabellendaten enthalten nicht unbedingt die Spaltennamen, die verwendet werden, um Quelldaten den vorhandenen Spalten zuzuordnen. Wenn diese Option aktiviert ist, wird die Zuordnung nach der geltenden Reihenfolge durchgeführt, und das Tabellenschema bleibt unverändert. Wenn diese Option deaktiviert ist, werden unabhängig von der Datenstruktur neue Spalten für eingehende Daten erstellt.
Wählen Sie Erweitert>Erste Zeile ist Spaltenüberschrift, um die erste Zeile als Spaltennamen zu verwenden.
JSON:
Wählen Sie Erweitert>Verschachtelte Ebenen, von 1 bis 100, um die Spaltenaufteilung der JSON-Daten festzulegen.
Wenn Sie Erweitert>JSON-Zeilen mit Fehlern überspringen wählen, werden die Daten im JSON-Format eingelesen. Wenn Sie das Kontrollkästchen nicht aktivieren, werden die Daten im MultiJSON-Format erfasst.
Zusammenfassung
Im Fenster Datenaufbereitung werden alle drei Schritte mit grünen Häkchen markiert, wenn die Datenerfassung erfolgreich abgeschlossen wurde. Sie können eine Karte auswählen, die abgefragt werden soll, die aufgenommenen Daten ablegen oder ein Dashboard Ihrer Erfassungszusammenfassung anzeigen.