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 DeviceId
DeviceStatus
a rendszer hozzáadja a metaadatokhoz.
Használja a következő lekérdezést:
select *, DeviceId, DeviceStatus from iotHubInput
Konfigurálja
DeviceId,DeviceStatus
tulajdonságoszlopként a kimenetben.
Az alábbi kép az EventHubon a Service Bus Explorerrel megvizsgált várható kimeneti üzenettulajdonságokat ábrázolja.
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, column1
a PartitionKey pedig 's értékekkel column2
van beállítva.
Következő lépések
- Rövid útmutató: Stream Analytics-feladat létrehozása az Azure Portal használatával
- Rövid útmutató: Azure Stream Analytics-feladat létrehozása az Azure CLI használatával
- Rövid útmutató: Azure Stream Analytics-feladat létrehozása ARM-sablon használatával
- Rövid útmutató: Stream Analytics-feladat létrehozása az Azure PowerShell használatával
- Rövid útmutató: Azure Stream Analytics-feladat létrehozása a Visual Studióval
- Rövid útmutató: Azure Stream Analytics-feladat létrehozása a Visual Studio Code-ban