Hent data fra Azure Event Hubs

I denne artikel får du mere at vide om, hvordan du henter data fra Event Hubs til din KQL-database i Microsoft Fabric. Azure Event Hubs er en streamingplatform til big data og en tjeneste til hændelsesindtagelse, der kan behandle og styre millioner af hændelser pr. sekund.

Hvis du vil streame data fra Event Hubs til Realtidsanalyse, skal du gennemgå to primære trin. Det første trin udføres i Azure-portal, hvor du definerer politikken for delt adgang i din hændelseshubforekomst og henter de oplysninger, der er nødvendige for senere at oprette forbindelse via denne politik.

Det andet trin finder sted i Realtidsanalyse i Fabric, hvor du forbinder en KQL-database til hændelseshubben og konfigurerer skemaet for indgående data. Dette trin opretter to forbindelser. Den første forbindelse, der kaldes en "cloudforbindelse", forbinder Microsoft Fabric med hændelseshubforekomsten. Den anden forbindelse forbinder "cloudforbindelsen" til din KQL-database. Når du er færdig med at konfigurere hændelsesdataene og -skemaet, er de streamede data tilgængelige for forespørgsler ved hjælp af et KQL-forespørgselssæt.

Forudsætninger

Advarsel!

Din hændelseshub kan ikke være bag en firewall.

Angiv en politik for delt adgang på din hændelseshub

Før du kan oprette en forbindelse til dine Event Hubs-data, skal du angive en SAS (Shared Access Policy) på hændelseshubben og indsamle nogle oplysninger, der skal bruges senere under konfiguration af forbindelsen. Du kan få flere oplysninger om godkendelse af adgang til Event Hubs-ressourcer under Delte adgangssignaturer.

  1. I Azure-portal skal du gå til den hændelseshubforekomst, du vil oprette forbindelse til.

  2. Under Indstillinger skal du vælge Politikker for delt adgang

  3. Vælg +Tilføj for at tilføje en ny SAS-politik, eller vælg en eksisterende politik med Administrer tilladelser.

    Screenshot of creating an SAS policy in the Azure portal.

  4. Angiv et politiknavn.

  5. Vælg Administrer og derefter Opret.

Indsaml oplysninger om cloudforbindelsen

I ruden SAS-politik skal du notere dig følgende fire felter. Det kan være en god idé at kopiere disse felter og indsætte dem et eller andet sted, f.eks. en notesblok, som skal bruges i et senere trin.

Screenshot showing how to fill out connection with data from Azure portal.

Feltreference Felt Beskrivelse Eksempel
a Hændelseshubs-forekomst Navnet på hændelseshubforekomsten. iotdata
b SAS-politik Det SAS-politiknavn, der blev oprettet i det forrige trin DocsTest
u Primær nøgle Den nøgle, der er knyttet til SAS-politikken I dette eksempel starter med PGGIISb009...
d Forbind ion, streng-primær nøgle I dette felt vil du kun kopiere navneområdet for hændelseshubben, som findes som en del af forbindelsesstreng. eventhubpm15910.servicebus.windows.net

Kilde

  1. På det nederste bånd i din KQL-database skal du vælge Hent data.

    I vinduet Hent data er fanen Kilde valgt.

  2. Vælg datakilden på den tilgængelige liste. I dette eksempel bruger du data fra Event Hubs.

    Screenshot of get data window with source tab selected.

Konfigurer

  1. Vælg en destinationstabel. Hvis du vil indføde data i en ny tabel, skal du vælge + Ny tabel og angive et tabelnavn.

    Bemærk

    Tabelnavne kan indeholde op til 1024 tegn, herunder mellemrum, alfanumeriske tegn, bindestreger og understregningstegn. Specialtegn understøttes ikke.

  2. Vælg enten Opret ny forbindelse, eller vælg Eksisterende forbindelse , og gå videre til næste trin.

Opret ny forbindelse

  1. Udfyld indstillingerne for Forbind ion i henhold til følgende tabel:

    Screenshot of source tab.

    Indstilling Beskrivelse Eksempelværdi
    Navneområde for hændelseshub Felt d fra tabellen ovenfor. eventhubpm15910.servicebus.windows.net
    Hændelseshub Felt a fra tabellen ovenfor. Navnet på hændelseshubforekomsten. iotdata
    Connection Hvis du vil bruge en eksisterende cloudforbindelse mellem Fabric og Event Hubs, skal du vælge navnet på denne forbindelse. Ellers skal du vælge Opret ny forbindelse. Opret ny forbindelse
    Forbindelsesnavn Navnet på din nye cloudforbindelse. Dette navn genereres automatisk, men kan overskrives. Skal være entydig i Fabric-lejeren. Forbind ion
    Godkendelsestype Udfyldes automatisk. I øjeblikket understøttes kun delt adgangsnøgle. Delt adgangsnøgle
    Navn på delt adgangsnøgle Felt b fra tabellen ovenfor. Det navn, du har givet til politikken for delt adgang. DocsTest
    Delt adgangsnøgle Felt c fra tabellen ovenfor. Den primære nøgle i SAS-politikken.
  2. Vælg Gem. Der oprettes en ny clouddataforbindelse mellem Fabric og Event Hubs.

Forbind cloudforbindelsen til din KQL-database

Uanset om du har oprettet en ny cloudforbindelse, eller du bruger en eksisterende, skal du definere forbrugergruppen. Du kan eventuelt angive parametre, der yderligere definerer aspekter af forbindelsen mellem KQL-databasen og cloudforbindelsen.

  1. Udfyld følgende felter i henhold til tabellen:

    Screenshot of creating database connection.

    Indstilling Beskrivelse Eksempelværdi
    Forbrugergruppe Den relevante forbrugergruppe, der er defineret i din hændelseshub. Du kan få flere oplysninger i forbrugergrupper. Når du har tilføjet en ny forbrugergruppe, skal du derefter vælge denne gruppe på rullelisten. NewConsumer
    Flere parametre
    Komprimering Datakomprimering af hændelserne, som kommer fra hændelseshubben. Indstillingerne er Ingen (standard) eller Gzip-komprimering. None
    Egenskaber for hændelsessystem Du kan få flere oplysninger under Egenskaber for hændelseshubsystem. Hvis der er flere poster pr. hændelsesmeddelelse, føjes systemegenskaberne til den første. Se egenskaber for hændelsessystem.
    Startdato for hentning af hændelse Dataforbindelsen henter eksisterende hændelseshubhændelser, der er oprettet siden startdatoen for hentning af hændelse. Den kan kun hente hændelser, der bevares af hændelseshubben, baseret på dens opbevaringsperiode. Tidszonen er UTC. Hvis der ikke er angivet noget tidspunkt, er standardtidspunktet det tidspunkt, hvor dataforbindelsen oprettes.
  2. Vælg Næste for at fortsætte til fanen Undersøg.

Egenskaber for hændelsessystem

Egenskaber for lagring af systemegenskaber, der er angivet af Event Hubs-tjenesten på det tidspunkt, hvor hændelsen blev forespørget. Dataforbindelsen til hændelseshubben kan integrere et valgt sæt systemegenskaber i de data, der indtages, i en tabel, der er baseret på en given tilknytning.

Egenskab Datatype Description
x-opt-enqueued-time Datetime UTC-tidspunkt, hvor hændelsen blev forespørget.
x-opt-sequence-number langt format Det logiske sekvensnummer for hændelsen i partitionsstreamen for hændelseshubben.
x-opt-offset string Forskydningen af hændelsen fra partitionsstreamen for hændelseshubben. Forskydnings-id'et er entydigt i en partition af hændelseshubstreamen.
x-opt-publisher string Udgivernavnet, hvis meddelelsen blev sendt til et udgiverslutpunkt.
x-opt-partition-key string Partitionsnøglen for den tilsvarende partition, der har gemt hændelsen.

Inspicer

Vælg Udfør for at fuldføre indtagelsesprocessen.

Screenshot of the inspect tab.

Eventuelt:

  • Vælg Kommandofremviser for at få vist og kopiere de automatiske kommandoer, der genereres fra dine input.

  • Rediger det automatisk udledte dataformat ved at vælge det ønskede format på rullelisten. Data læses fra hændelseshubben i form af EventData-objekter . Understøttede formater er CSV, JSON, PSV, SCsv, SOHsv TSV, TXT og TSVE.

  • Rediger kolonner.

  • Udforsk avancerede indstillinger baseret på datatype.

  • Hvis de data, du får vist i eksempelvinduet, ikke er fuldført, skal du muligvis bruge flere data for at oprette en tabel med alle de nødvendige datafelter. Brug følgende kommandoer til at hente nye data fra din hændelseshub:

    • Fjern og hent nye data: Sletter de data, der præsenteres, og søger efter nye hændelser.
    • Hent flere data: Søger efter flere hændelser ud over de hændelser, der allerede findes.

Rediger kolonner

Bemærk

  • I forbindelse med tabelformater (CSV, TSV, PSV) kan du ikke tilknytte en kolonne to gange. Hvis du vil knytte til en eksisterende kolonne, skal du først slette den nye kolonne.
  • Du kan ikke ændre en eksisterende kolonnetype. Hvis du forsøger at knytte til en kolonne med et andet format, kan du ende med at have tomme kolonner.

De ændringer, du kan foretage i en tabel, afhænger af følgende parametre:

  • Tabeltypen er ny eller eksisterende
  • Tilknytningstypen er ny eller eksisterende
Tabeltype Tilknytningstype Tilgængelige justeringer
Ny tabel Ny tilknytning Omdøb kolonne, skift datatype, skift datakilde, tilknytningstransformation, tilføj kolonne, slet kolonne
Eksisterende tabel Ny tilknytning Tilføj kolonne (hvor du derefter kan ændre datatype, omdøbe og opdatere)
Eksisterende tabel Eksisterende tilknytning ingen

Screenshot of columns open for editing.

Tilknytning af transformationer

Nogle tilknytninger af dataformater (Parquet, JSON og Avro) understøtter enkle transformationer af indfødningstid. Hvis du vil anvende tilknytningstransformationer, skal du oprette eller opdatere en kolonne i vinduet Rediger kolonner .

Tilknytningstransformationer kan udføres på en kolonne af typen streng eller datetime, hvor kilden har datatypen int eller long. Understøttede tilknytningstransformationer er:

  • DateTimeFromUnixSeconds
  • DateTimeFromUnixMilliseconds
  • DateTimeFromUnixMicroseconds
  • DateTimeFromUnixNanoseconds

Skematilknytning for Event Hubs Capture Avro-filer

En måde at forbruge Event Hubs-data på er ved at registrere hændelser via Azure Event Hubs i Azure Blob Storage eller Azure Data Lake Storage. Du kan derefter indtage hentningsfilerne, når de skrives ved hjælp af et Forbind ion af hændelsesgitterdata.

Skemaet for hentningsfilerne er forskelligt fra skemaet for den oprindelige hændelse, der blev sendt til Event Hubs. Du skal designe skemaet for destinationstabellen med denne forskel i tankerne. Hændelsesnyttedata repræsenteres specifikt i hentningsfilen som en bytematrix, og denne matrix afkodes ikke automatisk af dataforbindelsen Event Grid Azure Data Explorer. Du kan få mere specifikke oplysninger om filskemaet for Event Hubs Avro-hentningsdata under Udforsk hentede Avro-filer i Azure Event Hubs.

Sådan afkodes hændelsesnyttedataene korrekt:

  1. Knyt feltet Body for den registrerede hændelse til en kolonne af typen dynamic i destinationstabellen.
  2. Anvend en opdateringspolitik, der konverterer bytematrixen til en læsbar streng ved hjælp af funktionen unicode_codepoints_to_string().

Avancerede indstillinger baseret på datatype

Tabel (CSV, TSV, PSV):

  • Hvis du bruger tabelformater i en eksisterende tabel, kan du vælge Avanceret>behold tabelskema. Tabeldata indeholder ikke nødvendigvis de kolonnenavne, der bruges til at knytte kildedata til de eksisterende kolonner. Når denne indstilling er markeret, udføres tilknytningen efter rækkefølge, og tabelskemaet forbliver det samme. Hvis denne indstilling ikke er markeret, oprettes der nye kolonner til indgående data, uanset datastruktur.

  • Hvis du vil bruge den første række som kolonnenavne, skal du vælge Avanceret>første række er kolonneoverskrift.

    Screenshot of advanced CSV options.

JSON:

  • Hvis du vil bestemme kolonneopdelingen af JSON-data, skal du vælge Avancerede>indlejrede niveauer fra 1 til 100.

  • Hvis du vælger Avanceret>Spring JSON-linjer over med fejl, indtages dataene i JSON-format. Hvis du ikke markerer dette afkrydsningsfelt, indtages dataene i multijsonformat.

    Screenshot of advanced JSON options.

Resumé

I vinduet Dataforberedelse er alle tre trin markeret med grønne markeringer, når dataindtagelse er fuldført. Du kan vælge et kort, der skal forespørges om, slippe de data, der er indtaget, eller se et dashboard med oversigten over indtagelse.

Screenshot of summary page with successful ingestion completed.