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

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.

  1. 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.

    Distribuera till Azure (knapp)

    Knappen Distribuera till Azure tar dig till Azure-portalen.

    Skapa ett Event Hub-formulär

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

    Skapa en resursgrupp

  3. 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.
  4. Välj Granska + skapa.

  5. Granska sammanfattningen av de resurser som skapats. Välj Skapa, som bekräftar att du skapar resurser i din prenumeration.

    Skärmbild av Azure Portal för att granska och skapa EventHubs-namnrymd, händelsehubb och konsumentgrupp.

  6. 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.

    Meddelandeikon

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.

  1. I Azure Portal bläddrar du till klustret och väljer Fråga.

    Frågeprogramlänk

  2. 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)
    

    Kör genereringsfråga

  3. 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.

  1. Välj Meddelanden i verktygsfältet för att kontrollera att event hub-distributionen lyckades.

  2. Under klustret som du skapade väljer du Databaser och sedan TestDatabase.

    Välj testdatabas

  3. Välj Datainmatning och Lägg till dataanslutning.

    Välj datainmatning och Lägg till dataanslutning i Event Hub – Azure Data Explorer.

Skapa en dataanslutning

Fyll i formuläret med följande information och välj sedan Skapa.

Fönstret Dataanslutning Händelsehubb – Azure Data Explorer.

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.

  1. Fyll i följande routningsinställningar:

    Standardinställningar för routning för att mata in data till Händelsehubb – Azure Data Explorer.

    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.
  2. Välj Skapa.

Mappning av händelsesystemegenskaper

Anteckning

  • Systemegenskaper stöds för json tabellformat ( csvtsv osv.) 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 csv mappning läggs egenskaper till i början av posten i den ordning som anges i csv
  • För json mappning läggs egenskaper till enligt egenskapsnamn i json

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.

  1. Under det Event Hub-namnområde som du skapade väljer du Principer för deladåtkomst och sedan RootManageSharedAccessKey.

    Principer för delad åtkomst.

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

    Anslutningssträng.

Generera exempeldata

Använd den exempelapp som du laddade ned för att generera data.

  1. Öppna exempelapplösningen i Visual Studio.

  2. 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 connectionString event 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>";
    
  3. Kompilera och kör appen. Appen skickar meddelanden till händelsehubben och skriver ut dess status var 10:e sekund.

  4. 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.

  1. Under Azure Portal händelsehubb i den här appen ser du en aktivitetstopp medan appen körs.

    Händelsehubbdiagram.

  2. För att kontrollera hur många meddelanden som nått databasen hittills kör du följande fråga i testdatabasen.

    TestTable
    | count
    
  3. Kör följande fråga för att se innehållet i meddelandena:

    TestTable
    

    Resultatuppsättningen bör se ut som på följande bild:

    Meddelanderesultatuppsättning.

    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.

  1. 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 knappen Expandera. för att expandera den.

    Välj resursgrupp att ta bort.

  2. Under test-resource-group väljer du Ta bort resursgrupp.

  3. I det nya fönstret skriver du namnet på resursgruppen som ska tas bort (test-hub-rg) och väljer sedan Ta bort.

Nästa steg