Výstup front služby Service Bus z Azure Stream Analytics

Fronty služby Service Bus nabízejí doručení zpráv FIFO jednomu nebo více konkurenčním příjemcům. Příjemci obvykle přijímají a zpracovávají zprávy v dočasném pořadí, ve kterém byly přidány do fronty. Každá zpráva je přijata a zpracována pouze jedním příjemcem zprávy.

V rámci úrovně kompatibility 1.2 používá Azure Stream Analytics protokol zasílání zpráv AMQP (Advanced Message Queueing Protocol) k zápisu do front a témat služby Service Bus. AMQP umožňuje vytvářet multiplatformní hybridní aplikace pomocí otevřeného standardního protokolu.

Konfigurace výstupu

Následující tabulka uvádí názvy vlastností a jejich popisy pro vytvoření výstupu fronty.

Název vlastnosti Popis
Alias pro výstup Popisný název použitý v dotazech k nasměrování výstupu dotazu do této fronty služby Service Bus.
Obor názvů služby Service Bus Kontejner pro sadu entit zasílání zpráv.
Název fronty Název fronty služby Service Bus.
Název zásad fronty Při vytváření fronty můžete také vytvořit zásady sdíleného přístupu na kartě Konfigurace fronty. Každá zásada sdíleného přístupu má název, oprávnění, která jste nastavili, a přístupové klíče.
Klíč zásad fronty Sdílený přístupový klíč, který slouží k ověření přístupu k oboru názvů služby Service Bus.
Formát serializace události Formát serializace pro výstupní data. Podporují se JSON, CSV a Avro.
Kódování U CSV a JSON je UTF-8 v tuto chvíli jediným podporovaným formátem kódování.
Delimiter Platí pouze pro serializaci CSV. 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í jenom pro typ JSON. Řádek oddělený určuje, že výstup je formátován tak, že každý objekt JSON oddělený novým řádkem. Pokud vyberete Řádek oddělený, json se načte jeden objekt najednou. Samotný celý obsah by nebyl platným kódem JSON. Pole určuje, že výstup je formátován jako pole objektů JSON.
Sloupce vlastností Nepovinné. Sloupce oddělené čárkami, které musí být připojeny 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.
Sloupce systémových vlastností Nepovinné. Páry klíčových hodnot vlastností systému a odpovídající názvy sloupců, které musí být připojeny k odchozí zprávě místo datové části.

Počet oddílů vychází ze skladové položky a velikosti služby Service Bus. Klíč oddílu je jedinečná celočíselná hodnota pro každý oddíl.

dělení na části

Dělení se vybere automaticky. Počet oddílů vychází ze skladové položky a velikosti služby Service Bus. Klíč oddílu je jedinečná celočíselná hodnota pro každý oddíl. Počet výstupních zapisovačů je stejný jako počet oddílů ve výstupní frontě.

Velikost dávky výstupu

Maximální velikost zprávy je 256 kB na zprávu pro úroveň Standard a 1 MB pro úroveň Premium. Další informace najdete v tématu Omezení služby Service Bus. K optimalizaci použijte jednu událost na zprávu.

Vlastní vlastnosti metadat pro výstup

Sloupce dotazů můžete připojit jako vlastnosti uživatele k odchozím zprávům. Tyto sloupce se do datové části nepřecházejí. Vlastnosti jsou přítomné ve formě slovníku ve výstupní zprávě. Klíč je název sloupce a hodnota je hodnota sloupce ve slovníku vlastností. Všechny datové typy Stream Analytics jsou podporovány s výjimkou záznamů a polí.

V následujícím příkladu se pole DeviceIdDeviceStatus přidají do metadat.

  1. Spusťte následující dotaz:

    select *, DeviceId, DeviceStatus from iotHubInput
    
  2. Ve výstupu nakonfigurujte DeviceId,DeviceStatus jako sloupce vlastností.

    Property columns

Následující obrázek je očekávaných vlastností výstupní zprávy kontrolovaných v EventHubu pomocí Service Bus Exploreru.

Event custom properties

Systémové vlastnosti

Sloupce dotazů můžete připojit jako systémové vlastnosti ke zprávě fronty nebo tématu odchozí sběrnice.

Tyto sloupce nepřecházejí do datové části, místo toho se odpovídající systémová vlastnost ServiceBusMessage naplní hodnotami sloupce dotazu. Tyto systémové vlastnosti jsou podporovány - MessageId, ContentType, Label, PartitionKey, ReplyTo, SessionId, CorrelationId, To, ForcePersistence, TimeToLive, ScheduledEnqueueTimeUtc.

Řetězcové hodnoty těchto sloupců se analyzují jako odpovídající typ hodnoty systémové vlastnosti a všechny chyby analýzy se považují za chyby dat. Toto pole je k dispozici jako formát objektu JSON. Podrobnosti o tomto formátu jsou následující:

  • Obklopený složenými závorkami {}.
  • Zapsané ve dvojicích klíč/hodnota
  • Klíče a hodnoty musí být řetězce.
  • Klíč je název systémové vlastnosti a hodnota je název sloupce dotazu.
  • Klíče a hodnoty jsou oddělené dvojtečku.
  • Každý pár klíč/hodnota je oddělený čárkou.

Ukazuje, jak tuto vlastnost používat –

  • Dotazu: select *, column1, column2 INTO queueOutput FROM iotHubInput
  • Sloupce systémových vlastností: { "MessageId": "column1", "PartitionKey": "column2"}

Tím se nastaví MessageId zprávy fronty služby Service Bus s column1hodnotami a PartitionKey se nastaví s column2hodnotami.

Další kroky