Delen via


Gegevens uit Event Hub opnemen in Azure Synapse Data Explorer

Azure Synapse Data Explorer is een snelle en zeer schaalbare gegevensverkenningsservice voor logboek- en telemetriegegevens. Azure Synapse Data Explorer biedt opname (gegevens laden) van Event Hubs, IoT Hubs en blobs die zijn geschreven naar blobcontainers.

Azure Synapse Data Explorer biedt opname (gegevens laden) vanuit Event Hubs, een streamingplatform voor big data en een service voor gebeurtenisopname. Event Hubs kan miljoenen gebeurtenissen per seconde in bijna realtime verwerken. In dit artikel maakt u een Event Hub, maakt u er verbinding mee vanuit Azure Synapse Data Explorer en ziet u de gegevensstroom via het systeem.

Vereisten

  • Een Azure-abonnement. Maak een gratis Azure-account.

  • Een Data Explorer-pool maken met Synapse Studio of Azure Portal

  • Maak een Data Explorer-database.

    1. Selecteer Gegevens in Synapse Studio in het linkerdeelvenster.

    2. Selecteer + (Nieuwe resource toevoegen) >Data Explorer-pool en gebruik de volgende informatie:

      Instelling Voorgestelde waarde Beschrijving
      Poolnaam contosodataexplorer De naam van de Data Explorer-pool die moet worden gebruikt
      Naam TestDatabase De databasenaam moet uniek zijn binnen het cluster.
      Standaardretentieperiode 365 De periode (in dagen) dat de gegevens gegarandeerd beschikbaar blijven voor query's. De periode wordt gemeten vanaf het moment dat de gegevens zijn opgenomen.
      Standaardcacheperiode 31 De periode (in dagen) dat vaak opgevraagde gegevens beschikbaar blijven in de SSD-opslag of het RAM-geheugen in plaats van in de langetermijnopslag.
    3. Selecteer Maken om het profiel te maken. Het maakproces duurt meestal minder dan een minuut.

  • Een doeltabel maken waarnaar Event Hubs gegevens verzendt

    1. Selecteer Ontwikkelen in Synapse Studio in het linkerdeelvenster.

    2. Selecteer + (nieuwe resource toevoegen) >KQL-script onder KQL-scripts onder KQL-scripts. In het rechterdeelvenster kunt u uw script een naam geven.

    3. Selecteer in het menu Verbinding maken om contosodataexplorer te selecteren.

    4. Selecteer TestDatabase in het menu Database gebruiken.

    5. Plak de volgende opdracht en selecteer Uitvoeren om de tabel te maken.

      .create table TestTable (TimeStamp: datetime, Name: string, Metric: int, Source:string)
      

      Tip

      Controleer of de tabel is gemaakt. Selecteer in het linkerdeelvenster Gegevens, selecteer het menu contosodataexplorer meer en selecteer Vervolgens Vernieuwen. Vouw onder contosodataexplorer Tabellen uit en zorg ervoor dat de tabel TestTable wordt weergegeven in de lijst.

    6. Kopieer de volgende opdracht in het venster en selecteer Uitvoeren om de binnenkomende JSON-gegevens toe te wijzen aan de kolomnamen en gegevenstypen van de tabel (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"}}]'
      
  • U wordt aangeraden een door de gebruiker toegewezen beheerde identiteit of door het systeem toegewezen beheerde identiteit te gebruiken voor de gegevensverbinding (optioneel).

  • Een voorbeeld-app waarmee gegevens worden gegenereerd en naar een Event Hub worden verzonden. Download de voorbeeld-app naar uw systeem.

  • Visual Studio 2019 om de voorbeeld-app uit te voeren.

Meld u aan bij Azure Portal

Meld u aan bij het Azure-portaal.

Een Event Hub maken

Maak een Event Hub met behulp van een Azure Resource Manager-sjabloon in Azure Portal.

  1. Als u een Event Hub wilt maken, gebruikt u de volgende knop om de implementatie te starten. Klik met de rechtermuisknop en selecteer In nieuw venster openen, zodat u de rest van de stappen in dit artikel kunt volgen.

    Button to deploy the Resource Manager template to Azure.

    Klik op de knop Implementeren in Azure om de Azure-portal te openen.

  2. Selecteer het abonnement waarin u de Event Hub wilt maken en maak een resourcegroep met de naam test-hub-rg.

    Create a resource group

  3. Vul het formulier in met de volgende gegevens.

    Gebruik de standaardwaarden voor alle instellingen die niet zijn vermeld in de volgende tabel.

    Instelling Voorgestelde waarde Veldomschrijving
    Abonnement Uw abonnement Selecteer het Azure-abonnement dat u wilt gebruiken voor uw Event Hub.
    Resourcegroep test-hub-rg Een nieuwe resourcegroep maken.
    Locatie VS - west Selecteer VS - west voor dit artikel. Selecteer voor een productiesysteem de regio die het beste voldoet aan uw behoeften. Maak de Event Hub-naamruimte op dezelfde locatie als het Azure Synapse Data Explorer-cluster voor de beste prestaties (het belangrijkste voor Event Hub-naamruimten met hoge doorvoer).
    Naam van naamruimte Een unieke naam voor de naamruimte Kies een unieke naam waarmee de naamruimte kan worden geïdentificeerd. Bijvoorbeeld mijntestnaamruimte. De domeinnaam servicebus.windows.net wordt toegevoegd aan de naam die u opgeeft. De naam mag alleen letters, cijfers en afbreekstreepjes bevatten. De naam moet beginnen met een letter en moet eindigen met een letter of een cijfer. De waarde moet minimaal 6 en maximaal 50 tekens lang zijn.
    Naam van de Event Hub test-hub De Event Hub bevindt zich onder de naamruimte, die een unieke bereikcontainer biedt. De Event Hub-naam moet uniek zijn binnen de naamruimte.
    Naam van consumentengroep test-group Met consumentengroepen kunnen meerdere gebruikstoepassingen elk een afzonderlijke weergave van de gebeurtenisstroom hebben.
  4. Selecteer Controleren + maken.

  5. Bekijk het overzicht van gemaakte resources. Selecteer Maken, waarmee wordt bevestigd dat u resources in uw abonnement maakt.

    Screen shot of Azure portal for reviewing and creating Event Hub namespace, Event Hub, and consumer group.

  6. Selecteer in de werkbalk de optie Meldingen om het inrichtingsproces te controleren. Het kan enkele minuten duren voordat het implementatieproces is voltooid, maar u kunt nu doorgaan met de volgende stap.

    Notifications icon

Overwegingen voor verificatie

Afhankelijk van het type identiteit dat u gebruikt om te verifiëren met de Event Hub, hebt u mogelijk aanvullende configuraties nodig.

  • Als u verificatie met Event Hub gebruikt met behulp van een door de gebruiker toegewezen beheerde identiteit, gaat u naar uw Event Hub-netwerk en selecteert u onder Toegang toestaan vanuit alle netwerken alle netwerken en slaat u de wijzigingen op.>

    Screenshot of the Event Hub networking page, showing the selection of allowing access to all networks.

  • Als u met de Event Hub bent geverifieerd met behulp van een door het systeem toegewezen beheerde identiteit, gaat u naar uw Event Hub-netwerken en staat u vervolgens toegang toe vanuit alle netwerken of selecteert u Geselecteerde netwerken, selecteert u Vertrouwde Microsoft-services toestaan om deze firewall te omzeilen en de wijzigingen op te slaan.>

    Screenshot of the Event Hub networking page, showing the selection of allowing access to trusted services.

Verbinding maken naar de Event Hub

U maakt nu verbinding met de Event Hub vanuit de Data Explorer-pool. Wanneer deze verbinding is gemaakt, stromen gegevens die naar de Event Hub stromen naar de testtabel die u eerder in dit artikel hebt gemaakt.

  1. Selecteer Meldingen op de werkbalk om te controleren of de Event Hub-implementatie is geslaagd.

  2. Selecteer Databases>TestDatabase onder de Data Explorer-pool die u hebt gemaakt.

    Select test database.

  3. Selecteer Gegevensverbindingen en gegevensverbinding toevoegen.

    Select data ingestion and Add data connection.

Een gegevensverbinding maken (preview)

Vul het formulier in met de volgende gegevens en selecteer Vervolgens Maken.

Data connection pane Event Hub - Azure Synapse Data Explorer.

Instelling Voorgestelde waarde Veldomschrijving
Naam van gegevensverbinding test-hub-connection De naam van de verbinding die u wilt maken in Azure Synapse Data Explorer.
Abonnement De abonnements-id waar de Event Hub-resource zich bevindt. Dit veld wordt automatisch ingevuld.
Event hub-naamruimte Een unieke naam voor de naamruimte De naam die u eerder hebt gekozen om de naamruimte te identificeren.
Event Hub test-hub De Event Hub die u hebt gemaakt.
Consumentengroep test-group De consumentengroep die is gedefinieerd in de Event Hub die u hebt gemaakt.
Eigenschappen van gebeurtenissysteem Relevante eigenschappen selecteren De Event Hub-systeemeigenschappen. Als er meerdere records per gebeurtenisbericht zijn, worden de systeemeigenschappen toegevoegd aan de eerste record. Wanneer u systeemeigenschappen toevoegt, maakt of werkt u een tabelschema en toewijzing toe om de geselecteerde eigenschappen op te nemen.
Compressie Geen Het compressietype van de Nettolading van Event Hub-berichten. Ondersteunde compressietypen: Geen, Gzip.
Beheerde identiteit Door het systeem toegewezen De beheerde identiteit die door het Data Explorer-cluster wordt gebruikt voor toegang tot lezen vanuit de Event Hub.

Opmerking:
Wanneer de gegevensverbinding wordt gemaakt:
- Door het systeem toegewezen identiteiten worden automatisch gemaakt als ze niet bestaan
- De beheerde identiteit krijgt automatisch de rol Azure Event Hubs-gegevensontvanger toegewezen en wordt toegevoegd aan uw Data Explorer-cluster. U wordt aangeraden te controleren of de rol is toegewezen en of de identiteit is toegevoegd aan het cluster.

Doeltabel

Er zijn twee opties voor het routeren van de opgenomen gegevens: statisch en dynamisch. Voor dit artikel gebruikt u statische routering, waarbij u de tabelnaam, gegevensindeling en toewijzing opgeeft als standaardwaarden. Als het Event Hub-bericht gegevensrouteringsinformatie bevat, overschrijft deze routeringsinformatie de standaardinstellingen.

  1. Vul de volgende routeringsinstellingen in:

    Default routing settings for ingesting data to Event Hub - Azure Synapse Data Explorer.

    Instelling Voorgestelde waarde Veldomschrijving
    Tabelnaam TestTable De tabel die u hebt gemaakt in TestDatabase.
    Gegevensopmaak JSON Ondersteunde indelingen zijn Avro, CSV, JSON, MULTILINE JSON, ORC, PARQUET, PSV, SCSV, SOHSV, TSV, TXT, TSVE, APACHEAVRO en W3CLOG.
    Toewijzing TestMapping De toewijzing die u hebt gemaakt in TestDatabase, waarmee binnenkomende gegevens worden toegewezen aan de kolomnamen en gegevenstypen van TestTable. Vereist voor JSON, MULTILINE JSON en AVRO en optioneel voor andere indelingen.

    Notitie

    • U hoeft niet alle standaardrouteringsinstellingen op te geven. Gedeeltelijke instellingen worden ook geaccepteerd.
    • Alleen gebeurtenissen die worden verzameld nadat u de gegevensverbinding hebt gemaakt, worden opgenomen.
  2. Selecteer Maken.

Toewijzing van gebeurtenissysteemeigenschappen

Notitie

  • Systeemeigenschappen worden ondersteund voor json en tabellaire indelingen (tsvcsvenzovoort) en worden niet ondersteund voor gecomprimeerde gegevens. Wanneer u een niet-ondersteunde indeling gebruikt, worden de gegevens nog steeds opgenomen, maar worden de eigenschappen genegeerd.
  • Voor tabelgegevens worden systeemeigenschappen alleen ondersteund voor gebeurtenisberichten met één record.
  • Voor JSON-gegevens worden systeemeigenschappen ook ondersteund voor gebeurtenisberichten met meerdere records. In dergelijke gevallen worden de systeemeigenschappen alleen toegevoegd aan de eerste record van het gebeurtenisbericht.
  • Voor csv toewijzing worden eigenschappen toegevoegd aan het begin van de record in de volgorde die wordt vermeld in de tabel Systeemeigenschappen .
  • Voor json toewijzing worden eigenschappen toegevoegd op basis van eigenschapsnamen in de tabel Systeemeigenschappen .

Als u gebeurtenissysteemeigenschappen hebt geselecteerd in de sectie Gegevensbron van de tabel, moet u systeemeigenschappen opnemen in het tabelschema en de toewijzing.

De verbindingsreeks kopiëren

Wanneer u de voorbeeld-app uitvoert die wordt vermeld in Vereisten, hebt u de verbindingsreeks nodig voor de Event Hub-naamruimte.

  1. Selecteer onder de Event Hub-naamruimte die u hebt gemaakt gedeeld toegangsbeleid en vervolgens RootManageSharedAccessKey.

    Shared access policies.

  2. Kopieer Verbindingsreeks - primaire sleutel. U plak deze in de volgende sectie.

    Connection string.

Voorbeeldgegevens genereren

Gebruik de voorbeeld-app u hebt gedownload om gegevens te genereren.

  1. Open de voorbeeld-app in Visual Studio.

  2. Werk in het program.cs bestand de eventHubName constante bij naar de naam van uw Event Hub en werk de connectionString constante bij naar de verbindingsreeks die u hebt gekopieerd uit de Event Hub-naamruimte.

    const string eventHubName = "test-hub";
    // Copy the connection string ("Connection string-primary key") from your Event Hub namespace.
    const string connectionString = @"<YourConnectionString>";
    
  3. Bouw de app en voer deze uit. De app verzendt berichten naar de Event Hub en drukt elke 10 seconden de status ervan af.

  4. Nadat de app een paar berichten heeft verzonden, gaat u verder met de volgende stap: de gegevensstroom in uw Event Hub bekijken en de testtabel bekijken.

De gegevensstroom controleren

Nu de app gegevens genereert, ziet u nu de stroom van die gegevens van de Event Hub naar de tabel in uw cluster.

  1. In Azure Portal ziet u onder uw Event Hub de piek in activiteit terwijl de app wordt uitgevoerd.

    Event Hub graph.

  2. Als u wilt controleren hoeveel berichten er op dat moment de database hebben bereikt, voert u de volgende query uit in de testdatabase.

    TestTable
    | count
    
  3. Voer de volgende query uit om de inhoud van de berichten te bekijken:

    TestTable
    

    De resultatenset moet eruitzien als in de volgende afbeelding:

    Message result set.

    Notitie

    • Azure Synapse Data Explorer heeft een aggregatiebeleid (batchverwerking) voor gegevensopname, ontworpen om het opnameproces te optimaliseren. Het standaardbeleid voor batchverwerking is geconfigureerd om een batch te verzegelen zodra aan een van de volgende voorwaarden wordt voldaan: een maximale vertragingstijd van 5 minuten, totale grootte van 1G of 1000 blobs. Daarom kan er sprake zijn van een latentie. Zie batchverwerkingsbeleid voor meer informatie.
    • Event Hub-opname omvat de reactietijd van Event Hub van 10 seconden of 1 MB.
    • Als u de reactietijdvertraging wilt verminderen, configureert u de tabel ter ondersteuning van streaming. Zie streamingbeleid.

Resources opschonen

Als u niet van plan bent om uw Event Hub opnieuw te gebruiken, moet u test-hub-rg opschonen om kosten te voorkomen.

  1. Selecteer links in de Azure-portal de optie Resourcegroepen en selecteer vervolgens de resourcegroep die u hebt gemaakt.

    Als het linkermenu is samengevouwen, selecteert u Expand button. dit om het uit te vouwen.

    Select resource group to delete.

  2. Selecteer onder test-resource-group de optie Resourcegroep verwijderen.

  3. Typ in het nieuwe venster de naam van de resourcegroep die u wilt verwijderen (test-hub-rg), en klik vervolgens op Verwijderen.

Volgende stappen