Hämta data från Azure Event Hubs

I den här artikeln får du lära dig hur du hämtar data från Event Hubs till din KQL-databas i Microsoft Fabric. Azure Event Hubs är en stordataströmningsplattform och händelseinmatningstjänst som kan bearbeta och dirigera miljontals händelser per sekund.

Om du vill strömma data från Event Hubs till Realtidsinformation går du igenom två huvudsteg. Det första steget utförs i Azure-portalen, där du definierar principen för delad åtkomst på din händelsehubbinstans och samlar in den information som behövs för att senare ansluta via den här principen.

Det andra steget sker i Realtidsinformation i Infrastrukturresurser, där du ansluter en KQL-databas till händelsehubben och konfigurerar schemat för inkommande data. Det här steget skapar två anslutningar. Den första anslutningen, som kallas "molnanslutning", ansluter Microsoft Fabric till händelsehubbens instans. Den andra anslutningen ansluter "molnanslutningen" till din KQL-databas. När du har konfigurerat händelsedata och schema är strömmade data tillgängliga för frågor med hjälp av en KQL-frågeuppsättning.

Förutsättningar

Varning

Händelsehubben kan inte finnas bakom en brandvägg.

Ange en princip för delad åtkomst på din händelsehubb

Innan du kan skapa en anslutning till dina Event Hubs-data måste du ange en sas (shared access policy) på händelsehubben och samla in information som ska användas senare när anslutningen konfigureras. Mer information om hur du auktoriserar åtkomst till Event Hubs-resurser finns i Signaturer för delad åtkomst.

  1. I Azure-portalen bläddrar du till den händelsehubbinstans som du vill ansluta till.

  2. Under Inställningar väljer du Principer för delad åtkomst

  3. Välj +Lägg till för att lägga till en ny SAS-princip eller välj en befintlig princip med Hantera behörigheter.

    Skärmbild av hur du skapar en SAS-princip i Azure-portalen.

  4. Ange ett principnamn.

  5. Välj Hantera och sedan Skapa.

Samla in information för molnanslutningen

Anteckna följande fyra fält i fönstret SAS-princip. Du kanske vill kopiera de här fälten och klistra in dem någonstans, som ett anteckningsblock, för att använda dem i ett senare steg.

Skärmbild som visar hur du fyller i anslutning till data från Azure-portalen.

Fältreferens Fält Description Exempel
f Event Hubs-instans Namnet på händelsehubbens instans. iotdata
b SAS-princip SAS-principnamnet som skapades i föregående steg DocsTest
c Primärnyckel Nyckeln som är associerad med SAS-principen I det här exemplet börjar med PGGIISb009...
d Primär nyckel för anslutningssträng I det här fältet vill du bara kopiera händelsehubbens namnområde, som finns som en del av niska veze. eventhubpm15910.servicebus.windows.net

Källa

  1. I det nedre menyfliksområdet i din KQL-databas väljer du Hämta data.

    I fönstret Hämta data är fliken Källa markerad.

  2. Välj datakällan i den tillgängliga listan. I det här exemplet matar du in data från Event Hubs.

    Skärmbild av fönstret Hämta data med källfliken markerad.

Konfigurera

  1. Välj en måltabell. Om du vill mata in data i en ny tabell väljer du + Ny tabell och anger ett tabellnamn.

    Kommentar

    Tabellnamn kan innehålla upp till 1 024 tecken, inklusive blanksteg, alfanumeriskt, bindestreck och understreck. Specialtecken stöds inte.

  2. Välj antingen Skapa ny anslutning eller välj Befintlig anslutning och gå vidare till nästa steg.

Skapa en ny anslutning

  1. Fyll i anslutningsinställningarna enligt följande tabell:

    Skärmbild av källfliken.

    Inställning Beskrivning Exempelvärde
    Namnrymd för händelsehubb Fält d från tabellen ovan. eventhubpm15910.servicebus.windows.net
    Händelsehubb Fält a från tabellen ovan. Namnet på händelsehubbens instans. iotdata
    Connection Om du vill använda en befintlig molnanslutning mellan Fabric och Event Hubs väljer du namnet på den här anslutningen. Annars väljer du Skapa ny anslutning. Skapa ny anslutning
    Anslutningens namn Namnet på din nya molnanslutning. Det här namnet genereras automatiskt, men kan skrivas över. Måste vara unikt i fabric-klientorganisationen. Anslutning
    Typ av autentisering Fylls i automatiskt. För närvarande stöds endast delad åtkomstnyckel. Nyckel för delad åtkomst
    Namn på nyckel för delad åtkomst Fält b från tabellen ovan. Namnet som du gav till principen för delad åtkomst. DocsTest
    Nyckel för delad åtkomst Fält c från tabellen ovan. Den primära nyckeln för SAS-principen.
  2. Välj Spara. En ny molndataanslutning mellan Fabric och Event Hubs skapas.

Ansluta molnanslutningen till din KQL-databas

Oavsett om du har skapat en ny molnanslutning eller om du använder en befintlig, måste du definiera konsumentgruppen. Du kan också ange parametrar som ytterligare definierar aspekter av anslutningen mellan KQL-databasen och molnanslutningen.

  1. Fyll i följande fält enligt tabellen:

    Skärmbild av hur du skapar databasanslutning.

    Inställning Beskrivning Exempelvärde
    Konsumentgrupp Den relevanta konsumentgrupp som definierats i din händelsehubb. Mer information finns i konsumentgrupper. När du har lagt till en ny konsumentgrupp måste du sedan välja den här gruppen i listrutan. NewConsumer
    Fler parametrar
    Komprimering Datakomprimering av händelserna, som kommer från händelsehubben. Alternativen är Ingen (standard) eller Gzip-komprimering. None
    Egenskaper för händelsesystem Mer information finns i systemegenskaper för händelsehubben. Om det finns flera poster per händelsemeddelande läggs systemegenskaperna till i den första. Se egenskaper för händelsesystem.
    Startdatum för händelsehämtning Dataanslutningen hämtar befintliga händelsehubbhändelser som skapats sedan startdatumet för händelsehämtning. Den kan bara hämta händelser som behålls av händelsehubben, baserat på dess kvarhållningsperiod. Tidszonen är UTC. Om ingen tid anges är standardtiden den tid då dataanslutningen skapas.
  2. Välj Nästa för att fortsätta till fliken Inspektera.

Egenskaper för händelsesystem

Systemegenskaper lagrar egenskaper som anges av Event Hubs-tjänsten när händelsen sparas. Dataanslutningen till händelsehubben kan bädda in en vald uppsättning systemegenskaper i de data som matas in i en tabell baserat på en viss mappning.

Property Datatyp beskrivning
x-opt-enqueued-time datetime UTC-tid när händelsen angavs.
x-opt-sequence-number lång Det logiska sekvensnumret för händelsen i händelsehubbens partitionsström.
x-opt-offset sträng Förskjutningen av händelsen från händelsehubbens partitionsström. Förskjutningsidentifieraren är unik inom en partition av händelsehubbens dataström.
x-opt-publisher sträng Utgivarens namn, om meddelandet skickades till en utgivarslutpunkt.
x-opt-partition-key sträng Partitionsnyckeln för motsvarande partition som lagrade händelsen.

Undersöka

Slutför inmatningsprocessen genom att välja Slutför.

Skärmbild av fliken Inspektera.

Valfritt:

  • Välj Kommandovisningsprogram för att visa och kopiera de automatiska kommandon som genereras från dina indata.

  • Ändra det automatiskt härledda dataformatet genom att välja önskat format i listrutan. Data läss från händelsehubben i form av EventData-objekt . Format som stöds är CSV, JSON, PSV, SCsv, SOHsv TSV, TXT och TSVE.

  • Redigera kolumner.

  • Utforska Avancerade alternativ baserat på datatyp.

  • Om de data som visas i förhandsgranskningsfönstret inte är slutförda kan du behöva mer data för att skapa en tabell med alla nödvändiga datafält. Använd följande kommandon för att hämta nya data från din händelsehubb:

    • Ta bort och hämta nya data: tar bort de data som visas och söker efter nya händelser.
    • Hämta mer data: Söker efter fler händelser utöver de händelser som redan hittats.

Redigera kolumner

Kommentar

  • För tabellformat (CSV, TSV, PSV) kan du inte mappa en kolumn två gånger. Om du vill mappa till en befintlig kolumn tar du först bort den nya kolumnen.
  • Du kan inte ändra en befintlig kolumntyp. Om du försöker mappa till en kolumn med ett annat format kan du få tomma kolumner.

Vilka ändringar du kan göra i en tabell beror på följande parametrar:

  • Tabelltypen är ny eller befintlig
  • Mappningstypen är ny eller befintlig
Tabelltyp Mappningstyp Tillgängliga justeringar
Ny tabell Ny mappning Byt namn på kolumn, ändra datatyp, ändra datakälla, mappningstransformering, lägga till kolumn, ta bort kolumn
Befintlig tabell Ny mappning Lägg till kolumn (där du sedan kan ändra datatyp, byta namn på och uppdatera)
Befintlig tabell Befintlig mappning inget

Skärmbild av kolumner som är öppna för redigering.

Mappa transformeringar

Vissa dataformatmappningar (Parquet, JSON och Avro) stöder enkla inmatningstidstransformeringar. Om du vill använda mappningstransformeringar skapar eller uppdaterar du en kolumn i fönstret Redigera kolumner .

Mappningstransformeringar kan utföras på en kolumn av typen sträng eller datetime, där källan har datatypen int eller long. Mappningstransformeringar som stöds är:

  • DateTimeFromUnixSeconds
  • DateTimeFromUnixMilliseconds
  • DateTimeFromUnixMicroseconds
  • DateTimeFromUnixNanoseconds

Schemamappning för Event Hubs Capture Avro-filer

Ett sätt att använda Event Hubs-data är att samla in händelser via Azure Event Hubs i Azure Blob Storage eller Azure Data Lake Storage. Du kan sedan mata in avbildningsfilerna när de skrivs med hjälp av en Event Grid-dataanslutning.

Schemat för avbildningsfilerna skiljer sig från schemat för den ursprungliga händelsen som skickades till Event Hubs. Du bör utforma måltabellschemat med den här skillnaden i åtanke. Mer specifikt representeras händelsenyttolasten i avbildningsfilen som en bytematris, och den här matrisen avkodas inte automatiskt av Dataanslutningen till Event Grid Azure Data Explorer. Mer specifik information om filschemat för Event Hubs Avro-insamlingsdata finns i Utforska insamlade Avro-filer i Azure Event Hubs.

Så här avkodar du händelsenyttolasten korrekt:

  1. Mappa fältet för Body den insamlade händelsen till en kolumn av typen dynamic i måltabellen.
  2. Tillämpa en uppdateringsprincip som konverterar bytematrisen till en läsbar sträng med hjälp av funktionen unicode_codepoints_to_string().

Avancerade alternativ baserat på datatyp

Tabell (CSV, TSV, PSV):

  • Om du matar in tabellformat i en befintlig tabell kan du välja Avancerat>behåll tabellschema. Tabelldata innehåller inte nödvändigtvis de kolumnnamn som används för att mappa källdata till befintliga kolumner. När det här alternativet är markerat görs mappningen i ordning och tabellschemat förblir detsamma. Om det här alternativet är avmarkerat skapas nya kolumner för inkommande data, oavsett datastruktur.

  • Om du vill använda den första raden som kolumnnamn väljer du Avancerad>första rad är kolumnrubrik.

    Skärmbild av avancerade CSV-alternativ.

JSON:

  • Välj Avancerade>kapslade nivåer mellan 1 och 100 för att fastställa kolumndelningen för JSON-data.

  • Om du väljer Avancerade>Hoppa över JSON-rader med fel matas data in i JSON-format. Om du lämnar den här kryssrutan avmarkerad matas data in i multijson-format.

    Skärmbild av avancerade JSON-alternativ.

Sammanfattning

I fönstret Dataförberedelse markeras alla tre stegen med gröna bockmarkeringar när datainmatningen har slutförts. Du kan välja ett kort för att fråga, släppa inmatade data eller se en instrumentpanel för inmatningssammanfattningen.

Skärmbild av sammanfattningssidan med slutförd inmatning.