gegevens uit Event Hub opnemen in Azure Data Explorer

Azure Data Explorer is een snelle en zeer schaalbare service voor gegevensverkenning voor telemetrische gegevens en gegevens uit logboeken. Azure Data Explorer biedt opname (laden van gegevens) van Event Hubs, IoT Hubs en blobs die naar blobcontainers worden geschreven.

Azure Data Explorer biedt opname (laden van gegevens) vanuit Event Hubs, een big data-streamingplatform en service voor gebeurtenisopname. Event Hubs kan miljoenen gebeurtenissen per seconde in bijna realtime verwerken. In dit artikel maakt u een Event Hub, maakt u er verbinding mee vanuit Azure Data Explorer en ziet u de gegevensstroom door het systeem.

Zie Voor algemene informatie over het opnemen in Azure Data Explorer van Event Hub, Verbinding maken naar Event Hub.

Vereisten

Aanmelden bij Azure Portal

Meld u aan bij de Azure-portal.

Een Event Hub maken

Maak een Event Hub met behulp van een Azure Resource Manager sjabloon in de Azure Portal.

  1. Als u een Event Hub wilt maken, gebruikt u de volgende knop om de implementatie te starten. Klik met de rechtermuisknop en selecteer In nieuw venster openen, zodat u de rest van de stappen in dit artikel kunt volgen.

    De knop Implementeren in Azure

    Klik op de knop Implementeren in Azure om de Azure-portal te openen.

    Een Event Hub-formulier maken

  2. Selecteer het abonnement waarin u de Event Hub wilt maken en maak een resourcegroep met de naam test-hub-rg.

    Een resourcegroep maken

  3. Vul in het formulier de volgende gegevens in.

    Gebruik de standaardwaarden voor alle instellingen die niet zijn vermeld in de volgende tabel.

    Instelling Voorgestelde waarde Beschrijving van veld
    Abonnement Uw abonnement Selecteer het Azure-abonnement dat u wilt gebruiken voor uw Event Hub.
    Resourcegroep test-hub-rg Een nieuwe resourcegroep maken.
    Locatie VS - west Selecteer VS - west voor dit artikel. Selecteer voor een productiesysteem de regio die het beste voldoet aan uw behoeften. Maak de Event Hub-naamruimte op dezelfde locatie als het Azure Data Explorer-cluster voor de beste prestaties (het belangrijkste voor Event Hub-naamruimten met hoge doorvoer).
    Naam van naamruimte Een unieke naam voor de naamruimte Kies een unieke naam waarmee de naamruimte kan worden geïdentificeerd. Bijvoorbeeld mijntestnaamruimte. De domeinnaam servicebus.windows.net wordt toegevoegd aan de naam die u opgeeft. De naam mag alleen letters, cijfers en afbreekstreepjes bevatten. De naam moet beginnen met een letter en moet eindigen met een letter of een cijfer. De waarde moet minimaal 6 en maximaal 50 tekens lang zijn.
    Naam van Event Hub test-hub De Event Hub bevindt zich onder de naamruimte, die een unieke bereikcontainer biedt. De Event Hub-naam moet uniek zijn binnen de naamruimte.
    Naam van consumentengroep test-group Met consumentengroepen kunnen meerdere gebruikstoepassingen elk een afzonderlijke weergave van de gebeurtenisstroom hebben.
  4. Selecteer Controleren + maken.

  5. Bekijk de samenvatting van de gemaakte resources. Selecteer Maken,waarmee wordt bevestigd dat u resources maakt in uw abonnement.

    Schermafbeelding van Azure Portal voor het controleren en maken van EventHubs-naamruimte, Event Hub en consumentengroep.

  6. Selecteer in de werkbalk de optie Meldingen om het inrichtingsproces te controleren. Het kan enkele minuten duren voordat het implementatieproces is voltooid, maar u kunt nu doorgaan met de volgende stap.

    Meldingenpictogram

Een doeltabel maken in Azure Data Explorer

Nu maakt u een tabel in Azure Data Explorer waarnaar via Event Hubs gegevens worden verzonden. U maakt de tabel in het cluster en de database die zijn ingericht in Vereisten.

  1. Blader in Azure Portal naar uw cluster en selecteer Query uitvoeren.

    Toepassingskoppeling voor query

  2. Kopieer de volgende opdracht in het venster en selecteer Uitvoeren om de tabel (TestTable) te maken waarin de opgenomen gegevens worden geplaatst.

    .create table TestTable (TimeStamp: datetime, Name: string, Metric: int, Source:string)
    

    Maken van query uitvoeren

  3. Kopieer de volgende opdracht in het venster en selecteer Uitvoeren om de binnenkomende JSON-gegevens toe te wijzen aan de kolomnamen en gegevenstypen van de tabel (TestTable).

    .create table TestTable ingestion json mapping 'TestMapping' '[{"column":"TimeStamp", "Properties": {"Path": "$.timeStamp"}},{"column":"Name", "Properties": {"Path":"$.name"}} ,{"column":"Metric", "Properties": {"Path":"$.metric"}}, {"column":"Source", "Properties": {"Path":"$.source"}}]'
    

Verbinding maken naar de Event Hub

U maakt nu verbinding met de Event Hub vanuit Azure Data Explorer. Wanneer deze verbinding tot stand is, stromen gegevens die naar de Event Hub stromen naar de testtabel die u eerder in dit artikel hebt gemaakt.

  1. Selecteer Meldingen op de werkbalk om te controleren of de Event Hub-implementatie is geslaagd.

  2. Selecteer onder het gemaakte cluster de optie Databases en vervolgens TestDatabase.

    Testdatabase selecteren

  3. Selecteer Gegevensopname en Gegevensverbinding toevoegen.

    Selecteer Gegevens opnemen en Gegevensverbinding toevoegen in Event Hub - Azure Data Explorer.

Een gegevensverbinding maken

Vul het formulier in met de volgende gegevens en selecteer vervolgens Maken.

Deelvenster Gegevensverbinding Event Hub - Azure Data Explorer.

Instelling Voorgestelde waarde Beschrijving van veld
Naam van gegevensverbinding test-hub-connection De naam van de verbinding die u wilt maken in Azure Data Explorer.
Abonnement De abonnements-id waar de Event Hub-resource zich bevindt.
Event hub-naamruimte Een unieke naam voor de naamruimte De naam die u eerder hebt gekozen om de naamruimte te identificeren.
Event Hub test-hub De Event Hub die u hebt gemaakt.
Consumentengroep test-group De consumentengroep die is gedefinieerd in de Event Hub die u hebt gemaakt.
Eigenschappen van gebeurtenissysteem Relevante eigenschappen selecteren De systeemeigenschappen van de Event Hub. Als er meerdere records per gebeurtenisbericht zijn, worden de systeemeigenschappen toegevoegd aan de eerste record. Wanneer u systeemeigenschappen toevoegt, maakt of werkt u het tabelschema en de toewijzing bij om de geselecteerde eigenschappen op te nemen.
Compressie Geen Het compressietype van de nettolading van de Event Hub-berichten. Ondersteunde compressietypen: Geen, Gzip.
Beheerde identiteit (aanbevolen) Door het systeem toegewezen De beheerde identiteit die wordt gebruikt door het Data Explorer cluster voor toegang om te lezen uit de Event Hub. U wordt aangeraden beheerde identiteiten te gebruiken om de toegang tot uw Event Hub te controleren.

Opmerking:
Wanneer de gegevensverbinding is gemaakt:
* * toegewezen identiteiten worden automatisch gemaakt als ze niet bestaan
* Aan de beheerde identiteit wordt automatisch de rol Azure Event Hubs gegevensontvanger toegewezen en wordt deze toegevoegd aan uw Data Explorer cluster. We raden u aan te controleren of de rol is toegewezen en of de identiteit is toegevoegd aan het cluster.

Notitie

Als u een bestaande gegevensverbinding hebt die geen gebruik maakt van beheerde identiteiten, raden we u aan deze bij te werken voor het gebruik van beheerde identiteiten.

Doeltabel

Er zijn twee opties voor het routeren van de opgenomen gegevens: statische en dynamische. Voor dit artikel gebruikt u statische routering, waarbij u de tabelnaam, gegevensindeling en toewijzing opgeeft als standaardwaarden. Als het Event Hub-bericht gegevensrouteringsgegevens bevat, overschrijven deze routeringsgegevens de standaardinstellingen.

  1. Vul de volgende routeringsinstellingen in:

    Standaardrouteringsinstellingen voor het opnemen van gegevens naar Event Hub - Azure Data Explorer.

    Instelling Voorgestelde waarde Beschrijving van veld
    Tabelnaam TestTable De tabel die u hebt gemaakt in TestDatabase.
    Gegevensindeling JSON Ondersteunde indelingen zijn Avro, CSV, JSON, MULTILINE JSON, ORC, PARQUET, PSV, SCSV, SOHSV, TSV, TXT, TSVE, APACHEAVRO en W3CLOG.
    Toewijzing TestMapping De toewijzing die u hebt gemaakt in TestDatabase, waarmee inkomende gegevens worden toegewezen aan de kolomnamen en gegevenstypen van TestTable. Vereist voor JSON, MULTILINE JSON en AVRO, en optioneel voor andere indelingen.

    Notitie

    • U hoeft niet alle standaardrouteringsinstellingen op te geven. Gedeeltelijke instellingen worden ook geaccepteerd.
    • Alleen gebeurtenissen die worden in de enqueu opgenomen nadat u de gegevensverbinding hebt gemaakt, worden opgenomen.
  2. Selecteer Maken.

Toewijzing van gebeurtenissysteemeigenschappen

Notitie

  • Systeemeigenschappen worden ondersteund voor json tabellaire indelingen ( csv , tsv enzovoort) en worden niet ondersteund voor gecomprimeerde gegevens. Wanneer u een niet-ondersteunde indeling gebruikt, worden de gegevens nog steeds opgenomen, maar worden de eigenschappen genegeerd.
  • Voor gegevens in tabelvorm worden systeemeigenschappen alleen ondersteund voor gebeurtenisberichten met één record.
  • Voor JSON-gegevens worden systeemeigenschappen ook ondersteund voor gebeurtenisberichten met meerdere records. In dergelijke gevallen worden de systeemeigenschappen alleen toegevoegd aan de eerste record van het gebeurtenisbericht.
  • Voor toewijzing worden eigenschappen toegevoegd aan het begin van de record in de csv volgorde die wordt vermeld in de tabel csv
  • Voor json toewijzing worden eigenschappen toegevoegd op basis van eigenschapsnamen in de tabel json

Als u Gebeurtenissysteemeigenschappen hebt geselecteerd in de sectie Gegevensbron van de tabel, moet u systeemeigenschappen opnemen in het tabelschema en de toewijzing.

De verbindingsreeks kopiëren

Wanneer u de voorbeeld-app die wordt vermeld in Vereisten, hebt u de connection string voor de Event Hub-naamruimte nodig.

  1. Selecteer onder de Event Hub-naamruimte die u hebt gemaakt de optieBeleid voor gedeelde toegang en selecteer vervolgens RootManageSharedAccessKey.

    Beleid voor gedeelde toegang.

  2. Kopieer Verbindingsreeks - primaire sleutel. U plak deze in de volgende sectie.

    Verbindingsreeks.

Voorbeeldgegevens genereren

Gebruik de voorbeeld-app u hebt gedownload om gegevens te genereren.

  1. Open de voorbeeld-app in Visual Studio.

  2. Werk in het bestand program.cs de constante bij naar de naam van uw Event Hub en werk de constante bij naar de connection string die u hebt gekopieerd uit de connectionString Event Hub-naamruimte.

    const string eventHubName = "test-hub";
    // Copy the connection string ("Connection string-primary key") from your Event Hub namespace.
    const string connectionString = @"<YourConnectionString>";
    
  3. Bouw de app en voer deze uit. De app verzendt berichten naar de Event Hub en geeft elke 10 seconden de status weer.

  4. Nadat de app enkele berichten heeft verzonden, gaat u verder met de volgende stap: de gegevensstroom naar uw Event Hub en testtabel controleren.

De gegevensstroom controleren

Nu de app gegevens genereert, kunt u de stroom van die gegevens van de Event Hub naar de tabel in uw cluster zien.

  1. In de Azure Portal, onder uw Event Hub, ziet u de piek in de activiteit terwijl de app wordt uitgevoerd.

    Event Hub-grafiek.

  2. Als u wilt controleren hoeveel berichten er op dat moment de database hebben bereikt, voert u de volgende query uit in de testdatabase.

    TestTable
    | count
    
  3. Voer de volgende query uit om de inhoud van de berichten te bekijken:

    TestTable
    

    De resultatenset moet er als volgt uitzien:

    Resultatenset bericht.

    Notitie

    • Azure Data Explorer heeft een aggregatiebeleid (batchverwerking) voor gegevensopname, dat is ontworpen om de gegevensopname te optimaliseren. Het standaardbeleid voor batchverwerking is geconfigureerd om een batch te verzegelen zodra aan een van de volgende voorwaarden wordt voldaan voor de batch: een maximale vertragingstijd van 5 minuten, een totale grootte van 1G of 1000 blobs. Daarom kan er een latentie zijn. Zie batchingbeleid voor meer informatie.
    • Event Hub-opname omvat een Event Hub-reactietijd van 10 seconden of 1 MB.
    • Als u de reactietijd wilt verminderen, configureert u uw tabel om streaming te ondersteunen. Zie streamingbeleid.

Resources opschonen

Als u niet van plan bent om uw Event Hub opnieuw te gebruiken, schoont u test-hub-rgop om kosten te voorkomen.

  1. Selecteer in Azure Portal Resourcegroepen aan de linkerkant en selecteer vervolgens de resourcegroep die u hebt gemaakt.

    Als het menu aan de linkerkant is samengevouwen, selecteert u de knop Uitbreiden om het uit te vouwen.

    Selecteer de resourcegroep die u wilt verwijderen.

  2. Selecteer onder test-resource-group de optie Resourcegroep verwijderen.

  3. Typ in het nieuwe venster de naam van de resourcegroep die u wilt verwijderen (test-hub-rg), en klik vervolgens op Verwijderen.

Volgende stappen