Mata in data från Event Hub i Azure Data Explorer
Azure Data Explorer är en snabb och mycket skalbar datautforskningstjänst för logg- och telemetridata. Azure Data Explorer inmatning (data inläsning) från Event Hubs, IoT Hubs och blobar som skrivits till blobcontainrar.
Azure Data Explorer erbjuder inmatning (datainläsning) från Event Hubs, en dataströmningsplattform och händelseinmatningstjänst för stordata. Event Hubs kan bearbeta miljontals händelser per sekund nästan i realtid. I den här artikeln skapar du en händelsehubb, ansluter till den från Azure Data Explorer och ser dataflödet genom systemet.
Allmän information om hur du matar in till Azure Data Explorer från Event Hub finns i Anslut till Event Hub.
Förutsättningar
- En Azure-prenumeration. Skapa ett kostnadsfritt Azure-konto.
- Skapa ett kluster och en databas.
- Vi rekommenderar att du använder en användar tilldelad hanteradidentitet eller system tilldelad hanterad identitet för dataanslutningen (valfritt).
- En exempelapp som genererar data och skickar dem till en händelsehubb. Ladda ned exempelprogrammet till datorn.
- Visual Studio 2019 för att köra exempelappen.
Logga in på Azure Portal
Logga in på Azure-portalen.
Skapa en händelsehubb
Skapa en händelsehubb med hjälp av Azure Resource Manager mall i Azure Portal.
Använd följande knapp för att starta distributionen för att skapa en händelsehubb. Högerklicka och välj Öppna i nytt fönster så att du kan följa resten av stegen i den här artikeln.
Knappen Distribuera till Azure tar dig till Azure-portalen.

Välj den prenumeration där du vill skapa händelsehubben och skapa en resursgrupp med namnet test-hub-rg.

Fyll i formuläret med följande information.
Använd standardinställningarna för alla inställningar som inte visas i följande tabell.
Inställning Föreslaget värde Fältbeskrivning Prenumeration Din prenumeration Välj den Azure-prenumeration som du vill använda för din händelsehubb. Resursgrupp test-hub-rg Skapa en ny resursgrupp. Location USA, västra Välj USA, västra för den här artikeln. Välj den region som bäst uppfyller dina behov för ett produktionssystem. Skapa Event Hub-namnområdet på samma plats som Azure Data Explorer för bästa prestanda (viktigast för Event Hub-namnrymder med högt dataflöde). Namn på namnområde Ett unikt namnområdesnamn Välj ett unikt namn som identifierar namnområdet. Till exempel mytestnamespace. Domännamnet servicebus.windows.net läggs till i namnet som du anger. Namnet får endast innehålla bokstäver, siffror och bindestreck. Namnet måste börja med en bokstav och sluta med en bokstav eller siffra. Värdet måste innehålla mellan 6 och 50 tecken. Namn på händelsehubb test-hub Händelsehubben finns under namnområdet, som tillhandahåller en unik omfångscontainer. Namnet på händelsehubben måste vara unikt inom namnområdet. Konsumentgruppens namn test-group Konsumentgrupper gör att flera konsumerande program kan ha en separat vy över händelseströmmen. Välj Granska + skapa.
Granska sammanfattningen av de resurser som skapats. Välj Skapa, som bekräftar att du skapar resurser i din prenumeration.
Välj Meddelanden i verktygsfältet för att övervaka etableringsprocessen. Det kan ta flera minuter innan distributionen slutförs, men du kan gå vidare till nästa steg nu.

Skapa en måltabell i Azure Data Explorer
Nu ska du skapa en tabell i Azure Data Explorer som Event Hubs skickar data till. Du skapar tabellen i klustret och databasen som etablerades i avsnittet Förutsättningar.
I Azure Portal bläddrar du till klustret och väljer Fråga.

Kopiera följande kommando till fönstret och välj Kör för att skapa den tabell (TestTable) som tar emot insamlade data.
.create table TestTable (TimeStamp: datetime, Name: string, Metric: int, Source:string)
Kopiera följande kommando till fönstret och välj Kör för att mappa inkommande JSON-data till kolumnnamnen och datatyperna i tabellen (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"}}]'
Anslut till händelsehubben
Nu ansluter du till händelsehubben från Azure Data Explorer. När den här anslutningen är på plats strömmas data som flödar till händelsehubben till testtabellen som du skapade tidigare i den här artikeln.
Välj Meddelanden i verktygsfältet för att kontrollera att event hub-distributionen lyckades.
Under klustret som du skapade väljer du Databaser och sedan TestDatabase.

Välj Datainmatning och Lägg till dataanslutning.
Skapa en dataanslutning
Fyll i formuläret med följande information och välj sedan Skapa.
| Inställning | Föreslaget värde | Fältbeskrivning |
|---|---|---|
| Namn på dataanslutning | test-hub-connection | Namnet på anslutningen som du vill skapa i Azure Data Explorer. |
| Prenumeration | Prenumerations-ID:t där Event Hub-resursen finns. | |
| Namnområde för händelsehubb | Ett unikt namnområdesnamn | Namnet som du valde tidigare, som identifierar ditt namnområde. |
| Händelsehubb | test-hub | Den händelsehubb som du skapade. |
| Konsumentgrupp | test-group | Konsumentgruppen som definierats i den händelsehubb som du skapade. |
| Egenskaper för händelsesystem | Välj relevanta egenskaper | Händelsehubbens systemegenskaper. Om det finns flera poster per händelsemeddelande läggs systemegenskaperna till i den första posten. När du lägger till systemegenskaper skapar eller uppdaterar du tabellschemat och mappningen så att de valda egenskaperna inkluderas. |
| Komprimering | Ingen | Komprimeringstypen för händelsehubbens meddelandenyttolast. Komprimeringstyper som stöds: Ingen, Gzip. |
| Hanterad identitet (rekommenderas) | System-tilldelad | Den hanterade identiteten som används av Datautforskaren för åtkomst till läsning från händelsehubben. Vi rekommenderar att du använder hanterade identiteter för att styra åtkomsten till din händelsehubb. Obs! När dataanslutningen skapas: * * identiteter skapas automatiskt om de inte finns * Den hanterade identiteten tilldelas automatiskt rollen Azure Event Hubs datamottagare och läggs till i Datautforskaren kluster. Vi rekommenderar att du kontrollerar att rollen har tilldelats och att identiteten har lagts till i klustret. |
Anteckning
Om du har en befintlig dataanslutning som inte använder hanterade identiteter rekommenderar vi att du uppdaterar den för att använda hanterade identiteter.
Måltabell
Det finns två alternativ för routning av indata: statisk ochdynamisk. I den här artikeln använder du statisk routning, där du anger tabellnamn, dataformat och mappning som standardvärden. Om händelsehubbens meddelande innehåller information om dataroutning åsidosätter den här routningsinformationen standardinställningarna.
Fyll i följande routningsinställningar:
Inställning Föreslaget värde Fältbeskrivning Tabellnamn TestTable Tabellen som du skapade i TestDatabase. Dataformat JSON Format som stöds är Avro, CSV, JSON, MULTILINE JSON, ORC, PARQUET, PSV, SCSV, SOHSV, TSV, TXT, TSVE, APACHEAVRO och W3CLOG. Mappning TestMapping Den mappning som du skapade i TestDatabase, som mappar inkommande data till kolumnnamnen och datatyperna för TestTable. Krävs för JSON, MULTILINE JSON och AVRO och valfritt för andra format. Anteckning
- Du behöver inte ange alla standardinställningar för routning. Partiella inställningar accepteras också.
- Endast händelser som tas i kontakt efter att du har skapat dataanslutningen matas in.
Välj Skapa.
Mappning av händelsesystemegenskaper
Anteckning
- Systemegenskaper stöds för
jsontabellformat (csvtsvosv.) och stöds inte på komprimerade data. När du använder ett format som inte stöds matas data fortfarande in, men egenskaperna ignoreras. - För tabelldata stöds systemegenskaper endast för händelsemeddelanden med en post.
- För JSON-data stöds även systemegenskaper för händelsemeddelanden med flera poster. I sådana fall läggs systemegenskaperna endast till i den första posten i händelsemeddelandet.
- För
csvmappning läggs egenskaper till i början av posten i den ordning som anges icsv - För
jsonmappning läggs egenskaper till enligt egenskapsnamn ijson
Om du har valt Egenskaper för händelsesystem i avsnittet Datakälla i tabellen måste du inkludera systemegenskaper i tabellschemat och mappningen.
Kopiera anslutningssträngen
När du kör exempelappen som anges i Krav behöver du anslutningssträngen för event hub-namnområdet.
Under det Event Hub-namnområde som du skapade väljer du Principer för deladåtkomst och sedan RootManageSharedAccessKey.

Kopiera Anslutningssträng – primär nyckel. Du klistrar in den i nästa avsnitt.

Generera exempeldata
Använd den exempelapp som du laddade ned för att generera data.
Öppna exempelapplösningen i Visual Studio.
I filen program.cs uppdaterar du konstanten till namnet på din händelsehubb och uppdaterar konstanten till den anslutningssträng som du kopierade från
connectionStringevent hub-namnområdet.const string eventHubName = "test-hub"; // Copy the connection string ("Connection string-primary key") from your Event Hub namespace. const string connectionString = @"<YourConnectionString>";Kompilera och kör appen. Appen skickar meddelanden till händelsehubben och skriver ut dess status var 10:e sekund.
När appen har skickat några meddelanden går du vidare till nästa steg: granska dataflödet till händelsehubben och testtabellen.
Granska dataflödet
När appen genererar data kan du nu se flödet av dessa data från händelsehubben till tabellen i klustret.
Under Azure Portal händelsehubb i den här appen ser du en aktivitetstopp medan appen körs.

För att kontrollera hur många meddelanden som nått databasen hittills kör du följande fråga i testdatabasen.
TestTable | countKör följande fråga för att se innehållet i meddelandena:
TestTableResultatuppsättningen bör se ut som på följande bild:

Anteckning
- Azure Data Explorer har en sammansättningsprincip (batchbearbetning) för datainmatning som är utformad för att optimera inmatningsprocessen. Standardprincipen för batchbearbetning är konfigurerad för att försegla en batch när något av följande villkor är sant för batchen: en maximal fördröjningstid på 5 minuter, en total storlek på 1 G eller 1 000 blobar. Därför kan det uppstå en fördröjning. Mer information finns i batchbearbetningsprincipen.
- Event Hub-inmatning inkluderar Event Hub-svarstid på 10 sekunder eller 1 MB.
- För att minska svarstidsfördröjningen konfigurerar du tabellen så att den stöder strömning. Se strömningsprincip.
Rensa resurser
Om du inte planerar att använda din händelsehubb igen rensar du test-hub-rgför att undvika kostnader.
Välj Resursgrupper i Azure Portal längst till vänster och välj sedan den resursgrupp du skapat.
Om den vänstra menyn är komprimerad väljer du
för att expandera den.
Under test-resource-group väljer du Ta bort resursgrupp.
I det nya fönstret skriver du namnet på resursgruppen som ska tas bort (test-hub-rg) och väljer sedan Ta bort.
