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 realtidsintelligens, 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 Realtidsintelligens 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.
Hvis du vil hente data fra Event Hubs ved hjælp af Eventstream, skal du se Føj Azure Event Hubs-kilde til en hændelsesstream.
Forudsætninger
- Et Azure-abonnement. Opret en gratis Azure-konto
- En hændelseshub
- Et arbejdsområde med en Microsoft Fabric-aktiveret kapacitet
- En KQL-database med redigeringstilladelser
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.
I Azure-portal skal du gå til den hændelseshubforekomst, du vil oprette forbindelse til.
Under Indstillinger skal du vælge Politikker for delt adgang
Vælg +Tilføj for at tilføje en ny SAS-politik, eller vælg en eksisterende politik med Administrer tilladelser.
Angiv et politiknavn.
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.
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 |
c | Primær nøgle | Den nøgle, der er knyttet til SAS-politikken | I dette eksempel starter med PGGIISb009... |
d | Forbindelsesstrengens primære 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
På det nederste bånd i din KQL-database skal du vælge Hent data.
I vinduet Hent data er fanen Kilde valgt.
Vælg datakilden på den tilgængelige liste. I dette eksempel bruger du data fra Event Hubs.
Konfigurere
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.
Vælg enten Opret ny forbindelse, eller vælg Eksisterende forbindelse , og gå videre til næste trin.
Opret ny forbindelse
Udfyld forbindelsesindstillingerne i overensstemmelse med følgende tabel:
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. Forbindelse 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. Vælg Gem. Der oprettes en ny clouddataforbindelse mellem Fabric og Event Hubs.
Opret forbindelse mellem cloudforbindelsen og 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.
Udfyld følgende felter i henhold til tabellen:
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. Ingen 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. 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 | Beskrivelse |
---|---|---|
x-opt-enqueued-time | dato/klokkeslæt | 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.
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.
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 |
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 en dataforbindelse for hændelsesgitteret.
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:
- Knyt feltet
Body
for den registrerede hændelse til en kolonne af typendynamic
i destinationstabellen. - 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.
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.
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.