Zachytávání událostí prostřednictvím služby Azure Event Hubs ve službě Azure Blob Storage nebo Azure Data Lake Storage

Azure Event Hubs umožňuje automaticky zaznamenávat streamovaná data ve službě Event Hubs v úložišti objektů blob Azure nebo v účtu Azure Data Lake Storage Gen 1 nebo Gen2 podle vašeho výběru s přidanou flexibilitou při určování intervalu času nebo velikosti. Nastavení funkce Capture je rychlé, neúčtují se žádné náklady na správu a škáluje se automaticky s jednotkami propustnosti služby Event Hubs na úrovni Standard nebo jednotek zpracování na úrovni Premium. Služba Event Hubs Capture je nejjednodušší způsob, jak načíst streamovaná data do Azure a umožňuje soustředit se na zpracování dat, nikoli na zachytávání dat.

Obrázek znázorňující zachycení dat služby Event Hubs do služby Azure Storage nebo Azure Data Lake Storage

Poznámka:

Konfigurace služby Event Hubs Capture pro použití Azure Data Lake Storage Gen2 je stejná jako konfigurace pro použití služby Azure Blob Storage. Podrobnosti najdete v tématu Konfigurace funkce Event Hubs Capture.

Event Hubs Capture umožňuje zpracovávat kanály založené na dávkách a v reálném čase ve stejném datovém proudu. To znamená, že můžete vytvářet řešení, která v průběhu času rostou s vašimi potřebami. Ať už dnes vytváříte dávkové systémy s pohledem na budoucí zpracování v reálném čase, nebo chcete do stávajícího řešení v reálném čase přidat efektivní studenou cestu, služba Event Hubs Capture usnadňuje práci se streamovanými daty.

Důležité

  • Cílový účet úložiště (Azure Storage nebo Azure Data Lake Storage) musí být ve stejném předplatném jako centrum událostí, pokud pro ověřování nepoužíváte spravovanou identitu.
  • Služba Event Hubs nepodporuje zachytávání událostí v účtu služby Premium Storage.
  • Zachytávání služby Event Hubs podporuje jakýkoli jiný než prémiový účet úložiště Azure s podporou objektů blob bloku.

Jak funguje Funkce Event Hubs Capture

Event Hubs je časově odolná vyrovnávací paměť pro příchozí přenos dat telemetrie, podobně jako distribuovaný protokol. Klíčem ke škálování ve službě Event Hubs je model dělených příjemců. Každý oddíl je nezávislý segment dat a využívá se nezávisle. Tato data se v průběhu času stárne na základě konfigurovatelné doby uchovávání. V důsledku toho se dané centrum událostí nikdy nesplní.

Event Hubs Capture umožňuje zadat vlastní účet a kontejner služby Azure Blob Storage nebo účet Azure Data Lake Storage, který se používá k ukládání zachycených dat. Tyto účty můžou být ve stejné oblasti jako vaše centrum událostí nebo v jiné oblasti a přidávají se tak k flexibilitě funkce Event Hubs Capture.

Zachycená data se zapisují ve formátu Apache Avro : kompaktní, rychlý binární formát, který poskytuje bohaté datové struktury s vloženým schématem. Tento formát se běžně používá v ekosystému Hadoop, Stream Analytics a Azure Data Factory. Další informace o práci s Avro najdete dále v tomto článku.

Poznámka:

Pokud na webu Azure Portal nepoužíváte žádný editor kódu, můžete zachytit streamovaná data ve službě Event Hubs v účtu Azure Data Lake Storage Gen2 ve formátu Parquet . Další informace najdete v tématu Postupy: Zachycení dat ze služby Event Hubs ve formátu Parquet a kurz: zachycení dat služby Event Hubs ve formátu Parquet a analýza pomocí služby Azure Synapse Analytics.

Zachytávání oken

Event Hubs Capture umožňuje nastavit okno pro řízení zachytávání. Toto okno má minimální velikost a časovou konfiguraci s "první zásadou wins", což znamená, že první aktivační událost, ke které došlo, způsobí operaci zachycení. Pokud máte patnáct minut, 100 MB interval zachycení a odešlete 1 MB za sekundu, aktivuje se okno velikosti před časovým oknem. Každý oddíl zachytává nezávisle a zapisuje dokončený objekt blob bloku v době zachycení s názvem pro čas, kdy byl zjištěn interval zachycení. Zásady vytváření názvů úložiště jsou následující:

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

Hodnoty kalendářních dat jsou vycpané nulami; Příklad názvu souboru může být:

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

Pokud je objekt blob úložiště Azure dočasně nedostupný, služba Event Hubs Capture zachovají vaše data po dobu uchovávání dat nakonfigurovanou v centru událostí a po opětovném zpřístupnění účtu úložiště zaplní data.

Škálování jednotek propustnosti nebo jednotek zpracování

Na úrovni Standard služby Event Hubs se provoz řídí jednotkami propustnosti a ve službě Event Hubs úrovně Premium je řízen jednotkami zpracování. Event Hubs Capture kopíruje data přímo z interního úložiště služby Event Hubs, obejití jednotek propustnosti nebo výstupních kvót jednotek zpracování a ukládání výchozích přenosů dat pro ostatní čtenáře zpracování, jako je Stream Analytics nebo Spark.

Jakmile je služba Event Hubs Capture nakonfigurovaná, spustí se automaticky při odesílání první události a pokračuje ve spuštění. Služba Event Hubs zapisuje prázdné soubory, pokud nejsou žádná data, aby bylo možné snadněji zjistit, že proces funguje. Tento proces poskytuje předvídatelné tempo a značku, které můžou dodávat dávkové procesory.

Nastavení funkce Event Hubs Capture

Funkci Capture můžete nakonfigurovat při vytváření centra událostí pomocí webu Azure Portal nebo pomocí šablon Azure Resource Manageru. Další informace najdete v následujících článcích:

Poznámka:

Pokud povolíte funkci Capture pro existující centrum událostí, funkce zachytí události, které dorazí do centra událostí po zapnutí funkce. Nezachytává události, které existovaly v centru událostí před zapnutím funkce.

Jak se účtují poplatky za Zachytávání služby Event Hubs

Funkce zachytávání je součástí úrovně Premium, takže za tuto úroveň se neúčtují žádné další poplatky. U úrovně Standard se funkce účtuje měsíčně a poplatek je přímo úměrný počtu jednotek propustnosti nebo jednotek zpracování zakoupených pro obor názvů. S nárůstem a snížením jednotek propustnosti nebo jednotek zpracování se měřiče Zachycení služby Event Hubs zvýší a sníží, aby poskytovaly odpovídající výkon. Měřiče se vyskytují v tandemu. Podrobnosti o cenách najdete v tématu Ceny služby Event Hubs.

Zachytávání nevyužívají kvótu výchozího přenosu, protože se účtují samostatně.

Integrace s Event Gridem

Jako zdroj můžete vytvořit odběr služby Azure Event Grid s oborem názvů služby Event Hubs. Následující kurz ukazuje, jak vytvořit odběr Event Gridu s centrem událostí jako zdrojem a aplikací Azure Functions jako jímkou: Zpracování a migrace zachycených dat event Hubs do Azure Synapse Analytics pomocí Event Gridu a Azure Functions.

Prozkoumání zachycených souborů

Informace o prozkoumání zachycených souborů Avro najdete v tématu Prozkoumání zachycených souborů Avro.

Účet služby Azure Storage jako cíl

Pokud chcete povolit zachytávání v centru událostí s Azure Storage jako cílem zachycení nebo aktualizovat vlastnosti v centru událostí s azure Storage jako cílem zachycení, musí mít uživatel nebo instanční objekt roli RBAC s následujícími oprávněními přiřazenými v oboru účtu úložiště. 

Microsoft.Storage/storageAccounts/blobServices/containers/write
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write

 

Bez výše uvedeného oprávnění se zobrazí následující chyba:

Generic: Linked access check failed for capture storage destination <StorageAccount Arm Id>.
User or the application with object id <Object Id> making the request doesn't have the required data plane write permissions.
Please enable Microsoft.Storage/storageAccounts/blobServices/containers/write, Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write permission(s) on above resource for the user or the application and retry.
TrackingId:<ID>, SystemTracker:mynamespace.servicebus.windows.net:myhub, Timestamp:<TimeStamp>

Vlastník dat objektů blob služby Storage je předdefinovaná role s výše uvedenými oprávněními, takže do této role přidejte uživatelský účet nebo instanční objekt.  

Další kroky

Služba Event Hubs Capture představuje nejjednodušší způsob, jak získat data do Azure. Pomocí Azure Data Lake, Azure Data Factory a Azure HDInsight můžete provádět dávkové zpracování a další analýzy pomocí známých nástrojů a platforem podle vašeho výběru v libovolném měřítku.

Zjistěte, jak tuto funkci povolit pomocí webu Azure Portal a šablony Azure Resource Manageru: