Delen via


Gegevens ophalen uit Azure Event Hubs

In dit artikel leert u hoe u gegevens van Event Hubs in uw KQL-database in Microsoft Fabric kunt ophalen. Azure Event Hubs is een streamingplatform voor big data en een service voor gebeurtenisopname die miljoenen gebeurtenissen per seconde kan verwerken en omleiden.

Als u gegevens van Event Hubs wilt streamen naar realtime intelligence, voert u twee hoofdstappen uit. De eerste stap wordt uitgevoerd in Azure Portal, waar u het beleid voor gedeelde toegang op uw Event Hub-exemplaar definieert en de details vastlegt die nodig zijn om later verbinding te maken via dit beleid.

De tweede stap vindt plaats in Realtime Intelligence in Fabric, waar u een KQL-database verbindt met de Event Hub en het schema voor binnenkomende gegevens configureert. Met deze stap maakt u twee verbindingen. De eerste verbinding, een 'cloudverbinding' genoemd, verbindt Microsoft Fabric met het Event Hub-exemplaar. De tweede verbinding verbindt de 'cloudverbinding' met uw KQL-database. Zodra u klaar bent met het configureren van de gebeurtenisgegevens en het schema, zijn de gestreamde gegevens beschikbaar om een query uit te voeren met behulp van een KQL-queryset.

Zie Azure Event Hubs-bron toevoegen aan een eventstream om gegevens op te halen uit Event Hubs met behulp van Eventstream.

Vereisten

Waarschuwing

Uw Event Hub kan zich niet achter een firewall bevinden.

Een beleid voor gedeelde toegang instellen op uw Event Hub

Voordat u een verbinding met uw Event Hubs-gegevens kunt maken, moet u een SAS (Shared Access Policy) instellen op de Event Hub en informatie verzamelen die later moet worden gebruikt bij het instellen van de verbinding. Zie Shared Access Signatures voor meer informatie over het autoriseren van toegang tot Event Hubs-resources.

  1. Blader in Azure Portal naar het Event Hubs-exemplaar dat u wilt verbinden.

  2. Selecteer onder Instellingen beleid voor gedeelde toegang

  3. Selecteer +Toevoegen om een nieuw SAS-beleid toe te voegen of selecteer een bestaand beleid met machtigingen beheren .

    Schermopname van het maken van een SAS-beleid in Azure Portal.

  4. Voer een beleidsnaam in.

  5. Selecteer Beheren en vervolgens Maken.

Informatie verzamelen voor de cloudverbinding

Noteer de volgende vier velden in het deelvenster SAS-beleid. Mogelijk wilt u deze velden kopiëren en ergens plakken, zoals een kladblok, om in een latere stap te gebruiken.

Schermopname die laat zien hoe u verbinding met gegevens uit Azure Portal invult.

Veldreferentie Veld Omschrijving Voorbeeld
a Event Hubs-exemplaar De naam van het Event Hub-exemplaar. iotdata
b SAS-beleid De SAS-beleidsnaam die u in de vorige stap hebt gemaakt DocsTest
c Primaire sleutel De sleutel die is gekoppeld aan het SAS-beleid In dit voorbeeld begint u met PGGIISb009...
d Primaire sleutel voor verbindingsreeks In dit veld wilt u alleen de Event Hub-naamruimte kopiëren, die u kunt vinden als onderdeel van de verbindingsreeks. eventhubpm15910.servicebus.windows.net

Bron

  1. Selecteer Gegevens ophalen op het onderste lint van uw KQL-database.

    In het venster Gegevens ophalen is het tabblad Bron geselecteerd.

  2. Selecteer de gegevensbron in de beschikbare lijst. In dit voorbeeld neemt u gegevens op uit Event Hubs.

    Schermopname van het venster Gegevens ophalen met het tabblad Bron geselecteerd.

Configureren

  1. Selecteer een doeltabel. Als u gegevens wilt opnemen in een nieuwe tabel, selecteert u + Nieuwe tabel en voert u een tabelnaam in.

    Notitie

    Tabelnamen kunnen maximaal 1024 tekens zijn, waaronder spaties, alfanumerieke, afbreekstreepjes en onderstrepingstekens. Speciale tekens worden niet ondersteund.

  2. Selecteer Nieuwe verbinding maken of selecteer Bestaande verbinding en ga verder met de volgende stap.

Nieuwe verbinding maken

  1. Vul de verbindingsinstellingen in volgens de volgende tabel:

    Schermopname van het tabblad Bron.

    Instelling Beschrijving Voorbeeldwaarde
    Event hub-naamruimte Veld d uit de bovenstaande tabel. eventhubpm15910.servicebus.windows.net
    Event Hub Geef een veld op uit de bovenstaande tabel. De naam van het Event Hub-exemplaar. iotdata
    Connection Als u een bestaande cloudverbinding tussen Fabric en Event Hubs wilt gebruiken, selecteert u de naam van deze verbinding. Anders selecteert u Nieuwe verbinding maken. Nieuwe verbinding maken
    Verbindingsnaam De naam van uw nieuwe cloudverbinding. Deze naam wordt automatisch gegenereerd, maar kan worden overschreven. Moet uniek zijn binnen de Fabric-tenant. Verbinding
    Soort verificatie Automatisch ingevuld. Momenteel wordt alleen gedeelde toegangssleutel ondersteund. Gedeelde toegangssleutel
    Naam van gedeelde toegangssleutel Veld b uit de bovenstaande tabel. De naam die u hebt gegeven aan het beleid voor gedeelde toegang. DocsTest
    Gedeelde toegangssleutel Veld c uit de bovenstaande tabel. De primaire sleutel van het SAS-beleid.
  2. Selecteer Opslaan. Er wordt een nieuwe cloudgegevensverbinding gemaakt tussen Fabric en Event Hubs.

De cloudverbinding verbinden met uw KQL-database

Of u nu een nieuwe cloudverbinding hebt gemaakt of als u een bestaande verbinding gebruikt, moet u de consumentengroep definiëren. U kunt desgewenst parameters instellen die aspecten van de verbinding tussen de KQL-database en de cloudverbinding verder definiëren.

  1. Vul de volgende velden in volgens de tabel:

    Schermopname van het maken van een databaseverbinding.

    Instelling Beschrijving Voorbeeldwaarde
    Consumentengroep De relevante consumentengroep die is gedefinieerd in uw Event Hub. Zie consumentengroepen voor meer informatie. Nadat u een nieuwe consumentengroep hebt toegevoegd, moet u deze groep selecteren in de vervolgkeuzelijst. NewConsumer
    Meer parameters
    Compressie Gegevenscompressie van de gebeurtenissen, zoals afkomstig van de Event Hub. Opties zijn Geen (standaard) of Gzip-compressie. Geen
    Eigenschappen van gebeurtenissysteem Zie event hub-systeemeigenschappen voor meer informatie. Als er meerdere records per gebeurtenisbericht zijn, worden de systeemeigenschappen toegevoegd aan de eerste record. Bekijk de eigenschappen van het gebeurtenissysteem.
    Begindatum voor het ophalen van gebeurtenissen De gegevensverbinding haalt bestaande Event Hub-gebeurtenissen op die zijn gemaakt sinds de begindatum van het ophalen van gebeurtenissen. Het kan alleen gebeurtenissen ophalen die worden bewaard door de Event Hub, op basis van de retentieperiode. De tijdzone is UTC. Als er geen tijd is opgegeven, is de standaardtijd het tijdstip waarop de gegevensverbinding wordt gemaakt.
  2. Selecteer Volgende om door te gaan naar het tabblad Inspecteren.

Eigenschappen van gebeurtenissysteem

Systeemeigenschappen slaan eigenschappen op die zijn ingesteld door de Event Hubs-service op het moment dat de gebeurtenis wordt ge enqueued. De gegevensverbinding met de Event Hub kan een geselecteerde set systeemeigenschappen insluiten in de gegevens die zijn opgenomen in een tabel op basis van een bepaalde toewijzing.

Eigenschappen Gegevenssoort Beschrijving
x-opt-enqueued-time datetime UTC-tijd waarop de gebeurtenis is geïnventueerd.
x-opt-sequence-number long Het logische volgnummer van de gebeurtenis binnen de partitiestroom van de Event Hub.
x-opt-offset tekenreeks De verschuiving van de gebeurtenis uit de partitiestroom van de Event Hub. De offset-id is uniek binnen een partitie van de Event Hub-stream.
x-opt-publisher tekenreeks De naam van de uitgever, als het bericht is verzonden naar een uitgeverseindpunt.
x-opt-partition-key tekenreeks De partitiesleutel van de bijbehorende partitie die de gebeurtenis heeft opgeslagen.

Inspecteren

Selecteer Voltooien om het opnameproces te voltooien.

Schermopname van het tabblad Inspecteren.

Optioneel:

  • Selecteer Opdrachtviewer om de automatische opdrachten weer te geven en te kopiëren die zijn gegenereerd op basis van uw invoer.

  • Wijzig de automatisch uitgestelde gegevensindeling door de gewenste indeling in de vervolgkeuzelijst te selecteren. Gegevens worden gelezen uit de Event Hub in de vorm van EventData-objecten . Ondersteunde indelingen zijn CSV, JSON, PSV, SCsv, SOHsv TSV, TXT en TSVE.

  • Kolommen bewerken.

  • Verken geavanceerde opties op basis van het gegevenstype.

  • Als de gegevens die u in het voorbeeldvenster ziet niet zijn voltooid, hebt u mogelijk meer gegevens nodig om een tabel te maken met alle benodigde gegevensvelden. Gebruik de volgende opdrachten om nieuwe gegevens op te halen uit uw Event Hub:

    • Nieuwe gegevens verwijderen en ophalen: verwijdert de gegevens die worden weergegeven en zoekt naar nieuwe gebeurtenissen.
    • Meer gegevens ophalen: zoekt naar meer gebeurtenissen naast de al gevonden gebeurtenissen.

Kolommen bewerken

Notitie

  • Voor tabelindelingen (CSV, TSV, PSV) kunt u een kolom niet twee keer toewijzen. Als u wilt toewijzen aan een bestaande kolom, verwijdert u eerst de nieuwe kolom.
  • U kunt een bestaand kolomtype niet wijzigen. Als u probeert toe te wijzen aan een kolom met een andere indeling, kunt u uiteindelijk lege kolommen gebruiken.

De wijzigingen die u in een tabel kunt aanbrengen, zijn afhankelijk van de volgende parameters:

  • Tabeltype is nieuw of bestaand
  • Toewijzingstype is nieuw of bestaand
Tabeltype Toewijzingstype Beschikbare aanpassingen
Nieuwe tabel Nieuwe toewijzing Naam van kolom wijzigen, gegevenstype wijzigen, gegevensbron wijzigen, toewijzingstransformatie, kolom toevoegen, kolom verwijderen
Bestaande tabel Nieuwe toewijzing Kolom toevoegen (waarop u vervolgens het gegevenstype, de naam kunt wijzigen en bijwerken)
Bestaande tabel Bestaande toewijzing Geen

Schermopname van kolommen die zijn geopend om te bewerken.

Toewijzingstransformaties

Sommige toewijzingen van gegevensindelingen (Parquet, JSON en Avro) bieden ondersteuning voor eenvoudige opnametijdtransformaties. Als u toewijzingstransformaties wilt toepassen, maakt of werkt u een kolom in het venster Kolommen bewerken.

Toewijzingstransformaties kunnen worden uitgevoerd op een kolom van het type tekenreeks of datum/tijd, waarbij de bron gegevenstype int of lang heeft. Ondersteunde toewijzingstransformaties zijn:

  • DateTimeFromUnixSeconds
  • DateTimeFromUnixMilliseconden
  • DateTimeFromUnixMicroseconds
  • DateTimeFromUnixNanoseconds

Schematoewijzing voor Avro-bestanden vastleggen in Event Hubs

Een manier om Event Hubs-gegevens te gebruiken, is door gebeurtenissen vast te leggen via Azure Event Hubs in Azure Blob Storage of Azure Data Lake Storage. Vervolgens kunt u de opnamebestanden opnemen terwijl ze zijn geschreven met behulp van een Event Grid-gegevensverbinding.

Het schema van de opnamebestanden verschilt van het schema van de oorspronkelijke gebeurtenis die naar Event Hubs wordt verzonden. U moet het doeltabelschema ontwerpen met dit verschil in gedachten. De nettolading van de gebeurtenis wordt in het opnamebestand weergegeven als een bytematrix en deze matrix wordt niet automatisch gedecodeerd door de Azure Data Explorer-gegevensverbinding van Event Grid. Zie Vastgelegde Avro-bestanden verkennen in Azure Event Hubs voor meer specifieke informatie over het bestandsschema voor Event Hubs Avro-opnamegegevens.

De nettolading van de gebeurtenis correct decoderen:

  1. Wijs het Body veld van de vastgelegde gebeurtenis toe aan een kolom van het type dynamic in de doeltabel.
  2. Pas een updatebeleid toe waarmee de bytematrix wordt geconverteerd naar een leesbare tekenreeks met behulp van de functie unicode_codepoints_to_string().

Geavanceerde opties op basis van gegevenstype

Tabellair (CSV, TSV, PSV):

  • Als u tabelindelingen in tabelvorm opneemt in een bestaande tabel, kunt u geavanceerd>tabelschema behouden selecteren. Tabelgegevens bevatten niet noodzakelijkerwijs de kolomnamen die worden gebruikt om brongegevens toe te wijzen aan de bestaande kolommen. Wanneer deze optie is ingeschakeld, wordt de toewijzing op volgorde uitgevoerd en blijft het tabelschema hetzelfde. Als deze optie is uitgeschakeld, worden nieuwe kolommen gemaakt voor binnenkomende gegevens, ongeacht de gegevensstructuur.

  • Als u de eerste rij als kolomnamen wilt gebruiken, selecteert u Geavanceerde>eerste rij een kolomkop.

    Schermopname van geavanceerde CSV-opties.

JSON:

  • Als u de kolomverdeling van JSON-gegevens wilt bepalen, selecteert u Geavanceerde>geneste niveaus, van 1 tot en met 100.

  • Als u Geavanceerde>JSON-regels met fouten selecteert, worden de gegevens opgenomen in JSON-indeling. Als u dit selectievakje uitgeschakeld laat, worden de gegevens opgenomen in multijson-indeling.

    Schermopname van geavanceerde JSON-opties.

Samenvatting

In het venster Gegevensvoorbereiding worden alle drie de stappen gemarkeerd met groene vinkjes wanneer de gegevensopname is voltooid. U kunt een kaart selecteren om een query uit te voeren, de opgenomen gegevens te verwijderen of een dashboard van uw opnameoverzicht te bekijken.

Schermopname van de overzichtspagina met geslaagde opname voltooid.