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
- Een Azure-abonnement. Maak een gratis Azure-account.
- Maak een cluster en database.
- U wordt aangeraden een door de gebruiker toegewezen beheerde identiteit of door het systeem toegewezen beheerde identiteit te gebruiken voor de gegevensverbinding (optioneel).
- Een voorbeeld-app die gegevens genereert en verzendt naar een Event Hub. Download de voorbeeld-app naar uw systeem.
- Visual Studio 2019 om de voorbeeld-app uit te voeren.
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.
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.
Klik op de knop Implementeren in Azure om de Azure-portal te openen.

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

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. Selecteer Controleren + maken.
Bekijk de samenvatting van de gemaakte resources. Selecteer Maken,waarmee wordt bevestigd dat u resources maakt in uw abonnement.
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.

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.
Blader in Azure Portal naar uw cluster en selecteer Query uitvoeren.

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)
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.
Selecteer Meldingen op de werkbalk om te controleren of de Event Hub-implementatie is geslaagd.
Selecteer onder het gemaakte cluster de optie Databases en vervolgens TestDatabase.

Selecteer Gegevensopname en Gegevensverbinding toevoegen.
Een gegevensverbinding maken
Vul het formulier in met de volgende gegevens en selecteer vervolgens Maken.
| 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.
Vul de volgende routeringsinstellingen in:
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.
Selecteer Maken.
Toewijzing van gebeurtenissysteemeigenschappen
Notitie
- Systeemeigenschappen worden ondersteund voor
jsontabellaire indelingen (csv,tsvenzovoort) 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
csvvolgorde die wordt vermeld in de tabelcsv - Voor
jsontoewijzing worden eigenschappen toegevoegd op basis van eigenschapsnamen in de tabeljson
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.
Selecteer onder de Event Hub-naamruimte die u hebt gemaakt de optieBeleid voor gedeelde toegang en selecteer vervolgens RootManageSharedAccessKey.

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

Voorbeeldgegevens genereren
Gebruik de voorbeeld-app u hebt gedownload om gegevens te genereren.
Open de voorbeeld-app in Visual Studio.
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
connectionStringEvent Hub-naamruimte.const string eventHubName = "test-hub"; // Copy the connection string ("Connection string-primary key") from your Event Hub namespace. const string connectionString = @"<YourConnectionString>";Bouw de app en voer deze uit. De app verzendt berichten naar de Event Hub en geeft elke 10 seconden de status weer.
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.
In de Azure Portal, onder uw Event Hub, ziet u de piek in de activiteit terwijl de app wordt uitgevoerd.

Als u wilt controleren hoeveel berichten er op dat moment de database hebben bereikt, voert u de volgende query uit in de testdatabase.
TestTable | countVoer de volgende query uit om de inhoud van de berichten te bekijken:
TestTableDe resultatenset moet er als volgt uitzien:

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.
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
het uit te vouwen.
Selecteer onder test-resource-group de optie Resourcegroep verwijderen.
Typ in het nieuwe venster de naam van de resourcegroep die u wilt verwijderen (test-hub-rg), en klik vervolgens op Verwijderen.
