Dane wyjściowe tematów usługi Service Bus z usługi Azure Stream Analytics

Kolejki usługi Service Bus zapewniają metodę komunikacji jeden do jednego od nadawcy do odbiorcy. Tematy usługi Service Bus zapewniają komunikację "jeden do wielu".

W poniższej tabeli wymieniono nazwy właściwości i ich opisy dotyczące tworzenia danych wyjściowych tematu usługi Service Bus.

Nazwa właściwości Opis
Alias danych wyjściowych Przyjazna nazwa używana w zapytaniach do kierowania danych wyjściowych zapytania do tego tematu usługi Service Bus.
Przestrzeń nazw usługi Service Bus Kontener dla zestawu jednostek obsługi komunikatów. Podczas tworzenia nowego centrum zdarzeń utworzono również przestrzeń nazw usługi Service Bus.
Nazwa tematu Tematy to jednostki obsługi komunikatów, podobne do centrów zdarzeń i kolejek. Są one przeznaczone do zbierania strumieni zdarzeń z urządzeń i usług. Po utworzeniu tematu nadano mu również określoną nazwę. Komunikaty wysyłane do tematu nie są dostępne, chyba że zostanie utworzona subskrypcja, dlatego upewnij się, że w temacie znajduje się co najmniej jedna subskrypcja.
Nazwa zasad tematu Podczas tworzenia tematu usługi Service Bus można również utworzyć zasady dostępu współdzielonego na karcie Konfigurowanie tematu. Każda zasada dostępu współdzielonego ma nazwę, uprawnienia ustawione i klucze dostępu.
Klucz zasad tematu Klucz dostępu współużytkowanego używany do uwierzytelniania dostępu do przestrzeni nazw usługi Service Bus.
Format serializacji zdarzeń Format serializacji danych wyjściowych. Obsługiwane są pliki JSON, CSV i Avro.
Kodowanie Jeśli używasz formatu CSV lub JSON, należy określić kodowanie. UTF-8 jest obecnie jedynym obsługiwanym formatem kodowania.
Ogranicznik Dotyczy tylko serializacji CSV. Usługa Stream Analytics obsługuje szereg typowych ograniczników do serializacji danych w formacie CSV. Obsługiwane wartości to przecinek, średnik, spacja, karta i pionowy pasek.
Kolumny właściwości Opcjonalny. Kolumny rozdzielone przecinkami, które muszą być dołączone jako właściwości użytkownika komunikatu wychodzącego zamiast ładunku. Więcej informacji na temat tej funkcji znajduje się w sekcji Niestandardowe właściwości metadanych dla danych wyjściowych.
Kolumny właściwości systemu Opcjonalny. Pary wartości klucza właściwości systemu i odpowiadające im nazwy kolumn, które muszą być dołączone do komunikatu wychodzącego zamiast ładunku.

Liczba partycji jest oparta na jednostce SKU i rozmiarze usługi Service Bus. Klucz partycji jest unikatową wartością całkowitą dla każdej partycji.

Partycjonowanie

Partycjonowanie jest wybierane automatycznie. Liczba partycji jest oparta na jednostce SKU i rozmiarze usługi Service Bus. Klucz partycji jest unikatową wartością całkowitą dla każdej partycji. Liczba składników zapisywania danych wyjściowych jest taka sama jak liczba partycji w temacie wyjściowym.

Rozmiar partii wyjściowej

Maksymalny rozmiar komunikatu to 256 KB na komunikat dla warstwy Standardowa i 1 MB dla warstwy Premium. Aby uzyskać więcej informacji, zobacz Limity usługi Service Bus. Aby zoptymalizować, użyj pojedynczego zdarzenia na komunikat.

Właściwości niestandardowych metadanych dla danych wyjściowych

Kolumny zapytania można dołączać jako właściwości użytkownika do wiadomości wychodzących. Te kolumny nie przechodzą do ładunku. Właściwości są obecne w postaci słownika w komunikacie wyjściowym. Klucz to nazwa kolumny, a wartość jest wartością kolumny w słowniku właściwości. Wszystkie typy danych usługi Stream Analytics są obsługiwane z wyjątkiem rekordów i tablic.

W poniższym przykładzie pola DeviceId i DeviceStatus są dodawane do metadanych.

  1. Użyj następującego zapytania:

    select *, DeviceId, DeviceStatus from iotHubInput
    
  2. Skonfiguruj DeviceId,DeviceStatus jako kolumny właściwości w danych wyjściowych.

    Property columns

Na poniższej ilustracji przedstawiono oczekiwane właściwości komunikatu wyjściowego sprawdzane w usłudze EventHub przy użyciu Eksploratora usługi Service Bus.

Event custom properties

Właściwości systemu

Kolumny zapytań można dołączać jako właściwości systemu do wychodzącej kolejki usługi Service Bus lub komunikatów tematu. Te kolumny nie przechodzą do ładunku zamiast tego odpowiednią właściwość systemu ServiceBusMessage jest wypełniana wartościami kolumn zapytania. Te właściwości systemowe są obsługiwane — MessageId, ContentType, Label, PartitionKey, ReplyTo, SessionId, CorrelationId, To, ForcePersistence, TimeToLive, ScheduledEnqueueTimeUtc.

Wartości ciągów tych kolumn są analizowane jako odpowiadający typ wartości właściwości systemu, a wszystkie błędy analizy są traktowane jako błędy danych. To pole jest udostępniane jako format obiektu JSON. Szczegółowe informacje o tym formacie są następujące:

  • Otoczony nawiasami klamrowymi {}.
  • Zapisane w parach klucz/wartość.
  • Klucze i wartości muszą być ciągami.
  • Klucz to nazwa właściwości systemu, a wartość to nazwa kolumny zapytania.
  • Klucze i wartości są oddzielone dwukropkiem.
  • Każda para klucz/wartość jest oddzielona przecinkiem.

W tym artykule pokazano, jak używać tej właściwości —

  • Kwerendy: select *, column1, column2 INTO queueOutput FROM iotHubInput
  • Kolumny właściwości systemowych: { "MessageId": "column1", "PartitionKey": "column2"}

Ustawia on MessageId komunikaty w kolejce usługi Service Bus z wartościami column1i PartitionKey jest ustawiany z wartościami column2.

Następne kroki