Share via


Service Bus-üzenetsorok kimenete az Azure Stream Analyticsből

A Service Bus-üzenetsorok FIFO-üzenetkézbesítést biztosítanak egy vagy több konkurens fogyasztónak. Az üzeneteket általában a fogadók abban az időrendben fogadják és dolgozzák fel, amelyben hozzáadták őket az üzenetsorhoz. Minden üzenetet csak egy üzenetfelhasználó fogad és dolgoz fel.

Az 1.2-es kompatibilitási szinten az Azure Stream Analytics az Advanced Message Queueing Protocol (AMQP) üzenetkezelési protokollt használja a Service Bus üzenetsoraiba és témaköreibe való íráshoz. Az AMQP lehetővé teszi, hogy platformfüggetlen, hibrid alkalmazásokat hozzon létre nyílt standard protokoll használatával.

Kimeneti konfiguráció

Az alábbi táblázat felsorolja a tulajdonságneveket és azok leírását az üzenetsor kimenetének létrehozásához.

Tulajdonság neve Leírás
Kimeneti alias A lekérdezésekben használt rövid név, amellyel a lekérdezés kimenete ebbe a Service Bus-üzenetsorba irányíthető.
Service Bus-névtér Üzenetkezelési entitások egy készletének tárolója.
Üzenetsor neve A Service Bus-üzenetsor neve.
Üzenetsor-szabályzat neve Üzenetsor létrehozásakor megosztott hozzáférési szabályzatokat is létrehozhat az üzenetsor Konfigurálás lapján. Minden megosztott hozzáférési szabályzat rendelkezik névvel, beállított engedélyekkel és hozzáférési kulcsokkal.
Üzenetsor házirendkulcsa A Service Bus-névtérhez való hozzáférés hitelesítéséhez használt közös hozzáférési kulcs.
Eseményszerializációs formátum A kimeneti adatok szerializálási formátuma. A JSON, a CSV és az Avro támogatott.
Kódolás CSV és JSON esetén jelenleg az UTF-8 az egyetlen támogatott kódolási formátum.
Elválasztókarakter Csak CSV-szerializálásra alkalmazható. A Stream Analytics számos gyakori elválasztójelet támogat az adatok CSV formátumban történő szerializálásához. A támogatott értékek a következők: vessző, pontosvessző, szóköz, lap és függőleges sáv.
Format Csak JSON-típusra alkalmazható. A sor elválasztva azt adja meg, hogy a kimenet úgy van formázva, hogy minden JSON-objektumot egy új sor választ el egymástól. Ha a Sor elválasztva lehetőséget választja, a JSON egyszerre egy objektumot olvas be. A teljes tartalom önmagában nem lenne érvényes JSON. A tömb azt adja meg, hogy a kimenet JSON-objektumok tömbjeként legyen formázva.
Tulajdonságoszlopok Opcionális. Vesszővel tagolt oszlopok, amelyeket a hasznos adat helyett a kimenő üzenet felhasználói tulajdonságaiként kell csatolni. Erről a funkcióról további információt a kimenet egyéni metaadat-tulajdonságai című szakaszban talál.
Rendszertulajdonság-oszlopok Opcionális. A rendszertulajdonságok kulcsértékpárjai és a megfelelő oszlopnevek, amelyeket a hasznos adat helyett a kimenő üzenethez kell csatolni.

A partíciók száma a Service Bus termékváltozatán és méretén alapul. A partíciókulcs az egyes partíciók egyedi egész számértéke.

Particionálás

A particionálás automatikusan ki lesz választva. A partíciók száma a Service Bus termékváltozatán és méretén alapul. A partíciókulcs az egyes partíciók egyedi egész számértéke. A kimeneti írók száma megegyezik a kimeneti üzenetsor partícióinak számával.

Kimeneti köteg mérete

Az üzenetek maximális mérete üzenetenként 256 KB a Standard szint és 1 MB a Prémium szinten. További információ: Service Bus-korlátok. Az optimalizáláshoz üzenetenként egyetlen eseményt használjon.

A kimenet egyéni metaadat-tulajdonságai

A lekérdezésoszlopokat felhasználói tulajdonságokként csatolhatja a kimenő üzenetekhez. Ezek az oszlopok nem kerülnek a hasznos adatok közé. A tulajdonságok szótár formájában jelennek meg a kimeneti üzenetben. A kulcs az oszlop neve, az érték pedig a tulajdonságszótár oszlopértéke. A Record és a Array kivételével minden Stream Analytics-adattípus támogatott.

Az alábbi példában a mezőket DeviceIdDeviceStatus a rendszer hozzáadja a metaadatokhoz.

  1. Használja a következő lekérdezést:

    select *, DeviceId, DeviceStatus from iotHubInput
    
  2. Konfigurálja DeviceId,DeviceStatus tulajdonságoszlopként a kimenetben.

    Property columns

Az alábbi kép az EventHubon a Service Bus Explorerrel megvizsgált várható kimeneti üzenettulajdonságokat ábrázolja.

Event custom properties

Rendszertulajdonságok

A lekérdezési oszlopokat rendszertulajdonságokként csatolhatja a kimenő szolgáltatásbusz üzenetsorához vagy témakörüzeneteihez.

Ezek az oszlopok nem kerülnek a hasznos adatokba, hanem a megfelelő ServiceBusMessage rendszertulajdonság a lekérdezés oszlopértékeivel van feltöltve. Ezek a rendszertulajdonságok támogatottak – MessageId, ContentType, Label, PartitionKey, ReplyTo, SessionId, CorrelationId, To, ForcePersistence, TimeToLive, ScheduledEnqueueTimeUtc.

Ezeknek az oszlopoknak a sztringértékeit a rendszer a megfelelő rendszertulajdonság-értéktípusként elemzi, és az elemzési hibák adathibákként lesznek kezelve. Ez a mező JSON-objektumformátumként van megadva. A formátum részletei a következők:

  • Kapcsos kapcsos zárójelek {}veszik körül.
  • Kulcs-érték párokban íródott.
  • A kulcsoknak és értékeknek sztringeknek kell lenniük.
  • A kulcs a rendszertulajdonság neve, az érték pedig a lekérdezés oszlopának neve.
  • A kulcsokat és az értékeket kettőspont választja el egymástól.
  • Minden kulcs-érték pár vesszővel van elválasztva.

Ez bemutatja, hogyan használhatja ezt a tulajdonságot –

  • Lekérdezés: select *, column1, column2 INTO queueOutput FROM iotHubInput
  • Rendszertulajdonság-oszlopok: { "MessageId": "column1", "PartitionKey": "column2"}

Ez beállítja a MessageId service bus üzenetsor üzeneteit az 's értékekkel, column1a PartitionKey pedig 's értékekkel column2van beállítva.

Következő lépések