Gebeurtenissen vastleggen via Azure Event Hubs in Azure Blob Storage of Azure Data Lake Storage

met Azure Event Hubs kunt u de streaminggegevens in Event Hubs automatisch vastleggen in een Azure Blob Storage- of Azure Data Lake Storage Gen 1- of Gen 2-account van uw keuze, met de extra flexibiliteit om een tijd- of grootte-interval op te geven. Het instellen van Capture is snel, er zijn geen beheerkosten om het uit te voeren en het wordt automatisch geschaald met Event Hubs-doorvoereenheden in de standard-laag of verwerkingseenheden in de Premium-laag. Event Hubs Capture is de eenvoudigste manier om streaminggegevens in Azure te laden en stelt u in staat om u te richten op gegevensverwerking in plaats van op het vastleggen van gegevens.

Afbeelding van het vastleggen van Event Hubs-gegevens in Azure Storage of Azure Data Lake Storage

Notitie

Het configureren van Event Hubs Capture voor het gebruik van Azure Data Lake Storage Gen 2 is hetzelfde als het configureren voor het gebruik van een Azure Blob Storage. Zie Event Hubs Capture configureren voor meer informatie.

Met Event Hubs Capture kunt u realtime en batch-pijplijnen in dezelfde stream verwerken. Dit betekent dat u oplossingen kunt bouwen die in de loop van de tijd meegroeien met uw behoeften. Of u nu op batch gebaseerde systemen bouwt met het oog op toekomstige realtime-verwerking, of u wilt een efficiënt koude pad toevoegen aan een bestaande realtime-oplossing, Met Event Hubs Capture wordt het werken met streaminggegevens eenvoudiger.

Belangrijk

  • Het doelopslagaccount (Azure Storage of Azure Data Lake Storage) moet zich in hetzelfde abonnement als de event hub.
  • Event Hubs biedt geen ondersteuning voor het vastleggen van gebeurtenissen in een Premium Storage-account.

Hoe Event Hubs Capture werkt

Event Hubs is een duurzame buffer voor tijdretentie voor inkomend telemetriegegevens, vergelijkbaar met een gedistribueerd logboek. De sleutel tot schalen in Event Hubs is het gepartitioneerde consumentenmodel. Elke partitie is een onafhankelijk segment van gegevens en wordt onafhankelijk gebruikt. Na verloop van tijd verouderen deze gegevens op basis van de configureerbare bewaarperiode. Als gevolg hiervan wordt een bepaalde Event Hub nooit 'te vol'.

Met Event Hubs Capture kunt u uw eigen Azure Blob Storage-account en -container of Azure Data Lake Storage-account opgeven die worden gebruikt om de vastgelegde gegevens op te slaan. Deze accounts kunnen zich in dezelfde regio bevinden als uw Event Hub of in een andere regio, wat de flexibiliteit van de Event Hubs Capture-functie toevoegt.

Vastgelegde gegevens worden geschreven in Apache Avro-indeling : een compacte, snelle, binaire indeling met uitgebreide gegevensstructuren met een inlineschema. Deze indeling wordt veel gebruikt in het Hadoop-ecosysteem, Stream Analytics en Azure Data Factory. Meer informatie over het werken met Avro vindt u verderop in dit artikel.

Notitie

Wanneer u geen code-editor gebruikt in de Azure Portal, kunt u streaminggegevens in Event Hubs vastleggen in een Azure Data Lake Storage Gen2-account in de Parquet-indeling. Zie How to: capture data from Event Hubs in Parquet format and Tutorial: capture Event Hubs data in Parquet format and analyze with Azure Synapse Analytics (Procedure: gegevens uit Event Hubs vastleggen in Parquet-indeling en analyseren met behulp van Parquet-indeling).

Vensters vastleggen

Met Event Hubs Capture kunt u een venster instellen om het vastleggen te beheren. Dit venster is een minimale grootte en tijdconfiguratie met een 'first wins-beleid', wat betekent dat de eerste trigger die is aangetroffen, een opnamebewerking veroorzaakt. Als u een opnamevenster van vijftien minuten van 100 MB hebt en 1 MB per seconde verzendt, wordt het venster voor de grootte geactiveerd vóór het tijdvenster. Elke partitie legt onafhankelijk vast en schrijft een voltooide blok-blob op het moment van vastleggen, met de naam voor het tijdstip waarop het opname-interval is aangetroffen. De naamgevingsconventie voor opslag is als volgt:

{Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}

De datumwaarden zijn opgevuld met nullen; een voorbeeld van de bestandsnaam kan zijn:

https://mystorageaccount.blob.core.windows.net/mycontainer/mynamespace/myeventhub/0/2017/12/08/03/03/17.avro

Als uw Azure Storage-blob tijdelijk niet beschikbaar is, bewaart Event Hubs Capture uw gegevens gedurende de gegevensretentieperiode die is geconfigureerd op uw Event Hub en vult de gegevens weer in zodra uw opslagaccount weer beschikbaar is.

Doorvoereenheden of verwerkingseenheden schalen

In de Standard-laag van Event Hubs wordt het verkeer beheerd door doorvoereenheden en in de Premium-laag Event Hubs wordt het beheerd door verwerkingseenheden. Event Hubs Capture kopieert gegevens rechtstreeks uit de interne Event Hubs-opslag, waarbij de quota voor uitgaande doorvoereenheden of verwerkingseenheden worden omzeild en uw uitgaande gegevens worden opgeslagen voor andere verwerkingslezers, zoals Stream Analytics of Spark.

Zodra de configuratie is uitgevoerd, wordt Event Hubs Capture automatisch uitgevoerd wanneer u uw eerste gebeurtenis verzendt en blijft deze actief. Om het voor uw downstreamverwerking gemakkelijker te maken om te weten dat het proces werkt, schrijft Event Hubs lege bestanden wanneer er geen gegevens zijn. Dit proces biedt een voorspelbare frequentie en markering die uw batchprocessors kan voeden.

Event Hubs Capture instellen

U kunt Capture configureren tijdens het maken van de Event Hub met behulp van de Azure Portal of met behulp van Azure Resource Manager-sjablonen. Raadpleeg voor meer informatie de volgende artikelen:

Notitie

Als u de functie Capture inschakelt voor een bestaande Event Hub, legt de functie gebeurtenissen vast die bij de Event Hub binnenkomen nadat de functie is ingeschakeld. Er worden geen gebeurtenissen vastgelegd die bestonden in de Event Hub voordat de functie werd ingeschakeld.

Hoe kosten in rekening worden gebracht voor Event Hubs Capture

Event Hubs Capture wordt op dezelfde manier gemeten als doorvoereenheden (standard-laag) of verwerkingseenheden (in de Premium-laag): als uurkosten. De kosten zijn rechtstreeks evenredig met het aantal doorvoereenheden of verwerkingseenheden dat is gekocht voor de naamruimte. Naarmate doorvoereenheden of verwerkingseenheden worden verhoogd en verlaagd, worden Event Hubs Capture-meters verhoogd en verlaagd om overeenkomende prestaties te bieden. De meters komen in combinatie voor. Zie Prijzen van Event Hubs voor meer informatie over prijzen.

Capture verbruikt geen quotum voor uitgaand verkeer omdat het afzonderlijk wordt gefactureerd.

Integratie met Event Grid

U kunt een Azure Event Grid-abonnement maken met een Event Hubs-naamruimte als bron. In de volgende zelfstudie ziet u hoe u een Event Grid-abonnement maakt met een Event Hub als bron en een Azure Functions-app als sink: Vastgelegde Event Hubs-gegevens verwerken en migreren naar een Azure Synapse Analytics met behulp van Event Grid en Azure Functions.

Vastgelegde bestanden verkennen

Zie Vastgelegde Avro-bestanden verkennen voor meer informatie over het verkennen van vastgelegde Avro-bestanden.

Volgende stappen

Event Hubs Capture is de eenvoudigste manier om gegevens in Azure te krijgen. Met Behulp van Azure Data Lake, Azure Data Factory en Azure HDInsight kunt u batchverwerking en andere analyses uitvoeren met behulp van vertrouwde hulpprogramma's en platforms van uw keuze, op elke schaal die u nodig hebt.

Meer informatie over het inschakelen van deze functie met behulp van de sjabloon Azure Portal en Azure Resource Manager: