Delen via


Gegevens van Event Hubs 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 Hubs, maakt u er verbinding mee vanuit Azure Synapse Data Explorer en bekijkt 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 contosodataexplorer in het menu Verbinding maken.

    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 die gegevens genereert en deze verzendt naar een event hub. Download de voorbeeld-app naar uw systeem.

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

Meld u aan bij het 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 de Microsoft 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.

    Knop voor het implementeren van de Resource Manager-sjabloon in Azure.

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

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

    Een brongroep maken

  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 Hubs.
    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 Hubs-naamruimte op dezelfde locatie als het Azure Synapse Data Explorer-cluster voor de beste prestaties (het belangrijkste voor Event Hubs-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.
    Event Hubs-naam test-hub De Event Hubs bevindt zich onder de naamruimte, die een unieke bereikcontainer biedt. De Event Hubs-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.

    Schermopname van Azure Portal voor het controleren en maken van Event Hubs-naamruimte, Event Hubs en consumentengroep.

  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.

    Pictogram Meldingen

Overwegingen voor verificatie

Afhankelijk van het type identiteit, gebruikt u om te verifiëren met de Event Hubs, hebt u mogelijk enkele andere configuraties nodig.

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

    Schermopname van de pagina Event Hubs-netwerken, met de selectie van het toestaan van toegang tot alle netwerken.

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

    Schermopname van de event hubs-netwerkpagina, met de selectie van het toestaan van toegang tot vertrouwde services.

Verbinding maken met de Event Hubs

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

  1. Selecteer Meldingen op de werkbalk om te controleren of de implementatie van Event Hubs is geslaagd.

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

    Schermopname van de testdatabasegroep, waarin testdatabase wordt weergegeven.

  3. Selecteer Gegevensverbindingen en gegevensverbinding toevoegen.

    Selecteer gegevensopname en gegevensverbinding toevoegen.

Een gegevensverbinding maken (preview)

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

Schermopname van het deelvenster Gegevensverbinding in Event Hubs.

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 Hubs-resource zich bevindt. Dit veld wordt automatisch ingevuld.
Event Hubs-naamruimte Een unieke naam voor de naamruimte De naam die u eerder hebt gekozen om de naamruimte te identificeren.
Event Hubs test-hub De Event Hubs die u hebt gemaakt.
Consumentengroep test-group De consumentengroep die is gedefinieerd in de Event Hubs die u hebt gemaakt.
Eigenschappen van gebeurtenissysteem Relevante eigenschappen selecteren De Systeemeigenschappen van Event Hubs. 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 Hubs-berichten. Ondersteunde compressietypen: Geen, Gzip.
Beheerde identiteit Door het systeem toegewezen De beheerde identiteit die wordt gebruikt door het Data Explorer-cluster voor toegang tot lezen vanuit de Event Hubs.

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 Hubs-bericht gegevensrouteringsinformatie bevat, overschrijft deze routeringsinformatie de standaardinstellingen.

  1. Vul de volgende routeringsinstellingen in:

    Standaardrouteringsinstellingen voor het opnemen van gegevens naar Event Hubs - 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 Hubs-naamruimte.

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

    Beleid voor gedeelde toegang.

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

    Verbindingsreeks.

Voorbeeldgegevens genereren

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

Waarschuwing

In dit voorbeeld wordt verbindingsreeks verificatie gebruikt om verbinding te maken met Event Hubs voor het gemak van het voorbeeld. Het coderen van een verbindingsreeks in uw script vereist echter een zeer hoge mate van vertrouwen in de toepassing en brengt beveiligingsrisico's met zich mee.

Gebruik een van de volgende opties voor langetermijnoplossingen:

  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 Hubs en werk de connectionString constante bij naar de verbindingsreeks die u hebt gekopieerd uit de Event Hubs-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 Hubs 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 bekijken in uw Event Hubs en de testtabel bekijken.

De gegevensstroom controleren

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

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

    Event Hub-grafiek.

  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:

    Resultatenset van bericht.

    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 Hubs opnieuw te gebruiken, schoont u test-hub-rg op 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 Knop Uitvouwen. dit om het uit te vouwen.

    Selecteer de resourcegroep die u wilt verwijderen.

  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