Výstup služby Event Hubs z Azure Stream Analytics
Služba Azure Event Hubs je vysoce škálovatelný ingestor událostí publikování a odběru. Může shromažďovat miliony událostí za sekundu. Jedním z použití centra událostí jako výstupu je, když se výstup úlohy Stream Analytics stane vstupem jiné úlohy streamování. Informace o maximální velikosti zprávy a optimalizaci velikosti dávky najdete v části Velikost výstupní dávky .
Konfigurace výstupu
Následující tabulka obsahuje parametry potřebné ke konfiguraci datových proudů ze služby Event Hubs jako výstupu.
Název vlastnosti | Popis |
---|---|
Alias pro výstup | Popisný název používaný v dotazech k nasměrování výstupu dotazu do tohoto centra událostí. |
Obor názvů centra událostí | Kontejner pro sadu entit zasílání zpráv. Při vytváření nového centra událostí jste také vytvořili obor názvů centra událostí. |
Název centra událostí | Název výstupu centra událostí. |
Název zásad centra událostí | Zásady sdíleného přístupu, které můžete vytvořit na kartě Konfigurace centra událostí. Každá zásada sdíleného přístupu má název, oprávnění, která nastavíte, a přístupové klíče. |
Klíč zásad centra událostí | Sdílený přístupový klíč, který se používá k ověření přístupu k oboru názvů centra událostí. |
Sloupec klíč oddílu | Nepovinný parametr. Sloupec, který obsahuje klíč oddílu pro výstup centra událostí. |
Formát serializace události | Formát serializace pro výstupní data. Podporují se JSON, CSV a Avro. |
Encoding | Pro CSV a JSON je v tuto chvíli jediným podporovaným formátem kódování UTF-8. |
Oddělovač | Platí pouze pro serializaci sdíleného svazku clusteru. Stream Analytics podporuje řadu běžných oddělovačů pro serializaci dat ve formátu CSV. Podporované hodnoty jsou čárka, středník, mezera, tabulátor a svislý pruh. |
Formát | Platí pouze pro serializaci JSON. Line separated určuje, že výstup je formátovaný tak, že každý objekt JSON je oddělený novým řádkem. Pokud vyberete Řádky oddělené, json se načítá po jednom objektu. Celý obsah by sám o sobě nebyl platným JSON. Pole určuje, že výstup je formátovaný jako pole objektů JSON. |
Sloupce vlastností | Nepovinný parametr. Sloupce oddělené čárkami, které je potřeba připojit jako vlastnosti uživatele odchozí zprávy místo datové části. Další informace o této funkci najdete v části Vlastní vlastnosti metadat pro výstup. |
Dělení
Dělení se liší v závislosti na zarovnání oddílů. Pokud je klíč oddílu pro výstup centra událostí rovnoměrně zarovnán s upstreamovým (předchozím) krokem dotazu, je počet zapisovačů stejný jako počet oddílů ve výstupu centra událostí. Každý zapisovač používá třídu EventHubSender k odesílání událostí do konkrétního oddílu. Pokud klíč oddílu pro výstup centra událostí není v souladu s upstreamovým (předchozím) krokem dotazu, je počet zapisovačů stejný jako počet oddílů v předchozím kroku. Každý zapisovač používá třídu SendBatchAsync v EventHubClient k odesílání událostí do všech výstupních oddílů.
Velikost výstupní dávky
Maximální velikost zprávy je 256 kB nebo 1 MB na zprávu. Další informace najdete v tématu Omezení služby Event Hubs. Pokud vstupní a výstupní dělení není zarovnané, každá událost se do balíčku zabalí jednotlivě EventData
a odešle se v dávce až do maximální velikosti zprávy. K tomu dochází také v případě, že se použijí vlastní vlastnosti metadat . Pokud je vstupní a výstupní dělení zarovnané, je několik událostí zabaleno do jedné EventData
instance až do maximální velikosti zprávy a odesláno.
Vlastní vlastnosti metadat pro výstup
K odchozím zprávům můžete připojit sloupce dotazu jako vlastnosti uživatele. Tyto sloupce nejdou do datové části. Vlastnosti jsou ve výstupní zprávě ve formě slovníku. Klíč je název sloupce a hodnota je hodnota sloupce ve slovníku vlastností. Podporují se všechny datové typy Stream Analytics s výjimkou záznamů a pole.
V následujícím příkladu se pole DeviceId
a DeviceStatus
přidají do metadat.
Použijte následující dotaz:
select *, DeviceId, DeviceStatus from iotHubInput
Nakonfigurujte
DeviceId,DeviceStatus
jako sloupce vlastností ve výstupu.
Následující obrázek znázorňuje očekávané vlastnosti výstupní zprávy kontrolované v centru událostí pomocí Service Bus Exploreru.
Přesně jednou doručení
Ve výstupu služby Event Hubs je ve výchozím nastavení podporováno přesně jedno doručení. Bez ohledu na váš vstup Stream Analytics zaručuje, že ve výstupu služby Event Hubs nedojde ke ztrátě dat ani duplicitám, a to v případě restartování iniciovaných uživatelem od posledního výstupního času, což brání vytváření duplicit. To výrazně zjednodušuje kanál streamování, protože nemusí monitorovat, implementovat a řešit potíže s logikou odstranění duplicitních dat.