Event Hubs Capture verkennen
Met Azure Event Hubs kunt u automatisch de streaminggegevens vastleggen in Event Hubs in een Azure Blob Storage- of Azure Data Lake Storage-account van uw keuze, met de extra flexibiliteit om een tijd- of grootteinterval op te geven. Het instellen van Capture is snel, er zijn geen beheerkosten om deze uit te voeren en het schaalt automatisch met Event Hubs-doorvoereenheden in de standard-laag of verwerkingseenheden in de Premium-laag.
Met Event Hubs Capture kunt u realtime pijplijnen en pijplijnen op basis van batches in dezelfde stroom verwerken. Dit betekent dat u in de loop van de tijd oplossingen kunt bouwen die groeien met uw behoeften.
Hoe Event Hubs Capture werkt
Event Hubs is een duurzame buffer voor tijdretentie voor inkomend telemetrie, vergelijkbaar met een gedistribueerd logboek. De sleutel voor het schalen in Event Hubs is het gepartitioneerde consumentenmodel. Elke partitie is een onafhankelijk segment van gegevens en wordt onafhankelijk gebruikt. Na verloop van tijd worden deze gegevens ouder, op basis van de configureerbare bewaarperiode. Als gevolg hiervan krijgt 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 Store-account opgeven, dat wordt 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 kan worden toegevoegd aan de flexibiliteit van de Event Hubs Capture-functie.
Vastgelegde gegevens worden geschreven in Apache Avro-indeling: een compacte, snelle, binaire indeling die uitgebreide gegevensstructuren biedt met een inlineschema. Deze indeling wordt veel gebruikt in het Hadoop-ecosysteem, Stream Analytics en Azure Data Factory. Verderop in dit artikel vindt u meer informatie over het werken met Avro.
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 een opnamebewerking veroorzaakt. 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 naamconventie voor opslag is als volgt:
{Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}
Let op: de datumwaarden worden 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
Schalen naar doorvoereenheden
Event Hubs-verkeer wordt beheerd door doorvoereenheden. Eén doorvoereenheid staat 1 MB per seconde of 1000 gebeurtenissen per seconde van inkomend verkeer toe en twee keer zoveel uitgaand verkeer. Standaard Event Hubs kunnen worden geconfigureerd met 1-20 doorvoereenheden en u kunt meer aanschaffen met een ondersteuningsaanvraag voor quotumverhoging. Gebruik buiten de aangeschafte doorvoereenheden wordt beperkt. Event Hubs Capture kopieert gegevens rechtstreeks vanuit de interne Event Hubs-opslag, slaat quota voor uitgaande doorvoereenheden over en slaat uw uitgangspunten op voor andere verwerkingslezers, zoals Stream Analytics of Spark.
Zodra de gebeurtenis is geconfigureerd, wordt Event Hubs Capture automatisch uitgevoerd wanneer u uw eerste gebeurtenis verzendt en blijft werken. 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.