Azure Stream Analytics'ten Service Bus kuyrukları çıkışı
Service Bus kuyrukları , bir veya daha fazla rakip tüketiciye FIFO ileti teslimi sunar. İletiler genellikle alıcılar tarafından kuyruğa eklendikleri zamansal sırada alınır ve işlenir. Her ileti yalnızca bir ileti tüketicisi tarafından alınır ve işlenir.
Uyumluluk düzeyi 1.2'de Azure Stream Analytics, Service Bus Kuyruklarına ve Konu Başlıklarına yazmak için Gelişmiş İleti Kuyruğa Alma Protokolü (AMQP) mesajlaşma protokollerini kullanır. AMQP, açık standart bir protokol kullanarak platformlar arası, karma uygulamalar oluşturmanıza olanak tanır.
Çıkış yapılandırması
Aşağıdaki tabloda, kuyruk çıktısı oluşturmaya yönelik özellik adları ve açıklamaları listelemektedir.
Özellik adı | Tanım |
---|---|
Çıktı diğer adı | Sorgu çıkışını bu Service Bus kuyruğuna yönlendirmek için sorgularda kullanılan kolay ad. |
Service Bus ad alanı | Bir dizi mesajlaşma varlığı için kapsayıcı. |
Kuyruk adı | Service Bus kuyruğunun adı. |
Kuyruk ilkesi adı | Kuyruk oluşturduğunuzda, kuyruğun Yapılandır sekmesinde paylaşılan erişim ilkeleri de oluşturabilirsiniz. Her paylaşılan erişim ilkesinin bir adı, ayarladığınız izinleri ve erişim anahtarları vardır. |
Kuyruk ilkesi anahtarı | Service Bus ad alanına erişimin kimliğini doğrulamak için kullanılan paylaşılan erişim anahtarı. |
Olay serileştirme biçimi | Çıkış verileri için serileştirme biçimi. JSON, CSV ve Avro desteklenir. |
Kodlama | CSV ve JSON için şu anda desteklenen tek kodlama biçimi UTF-8'dir. |
Sınırlayıcı | Yalnızca CSV serileştirme için geçerlidir. Stream Analytics, verileri CSV biçiminde seri hale getirme için bir dizi ortak sınırlayıcıyı destekler. Desteklenen değerler virgül, noktalı virgül, boşluk, sekme ve dikey çubuklardır. |
Biçim | Yalnızca JSON türü için geçerlidir. Ayrılmış satır, her JSON nesnesinin yeni bir satırla ayrılmasıyla çıkışın biçimlendirildiğini belirtir. Çizgiyle ayrılmış seçeneğini belirlediğinizde JSON her seferinde bir nesne okunur. İçeriğin tamamı tek başına geçerli bir JSON olmayacaktır. Dizi , çıkışın bir JSON nesneleri dizisi olarak biçimlendirildiğini belirtir. |
Özellik sütunları | isteğe bağlı. Yük yerine giden iletinin kullanıcı özellikleri olarak eklenmesi gereken virgülle ayrılmış sütunlar. Bu özellik hakkında daha fazla bilgi çıktı için özel meta veri özellikleri bölümündedir. |
Sistem Özelliği sütunları | isteğe bağlı. Sistem Özellikleri'nin anahtar değer çiftleri ve yük yerine giden iletiye eklenmesi gereken ilgili sütun adları. |
Bölüm sayısı Service Bus SKU'sunu ve boyutunu temel alır. Bölüm anahtarı, her bölüm için benzersiz bir tamsayı değeridir.
Bölümleme
Bölümleme otomatik olarak seçilir. Bölüm sayısı Service Bus SKU'sunu ve boyutunu temel alır. Bölüm anahtarı, her bölüm için benzersiz bir tamsayı değeridir. Çıktı yazıcılarının sayısı, çıkış kuyruğundaki bölüm sayısıyla aynıdır.
Çıktı toplu iş boyutu
İleti boyutu üst sınırı, Standart katman için ileti başına 256 KB ve Premium katman için 1 MB'tır. Daha fazla bilgi için bkz . Service Bus sınırları. en iyi duruma getirmek için ileti başına tek bir olay kullanın.
Çıktı için özel meta veri özellikleri
Sorgu sütunlarını giden iletilerinize kullanıcı özellikleri olarak ekleyebilirsiniz. Bu sütunlar yüke girmez. Özellikler, çıkış iletisinde sözlük biçiminde bulunur. Anahtar , sütun adıdır ve değer özellikler sözlüğündeki sütun değeridir. Kayıt ve Dizi dışında tüm Stream Analytics veri türleri desteklenir.
Aşağıdaki örnekte, ve DeviceStatus
alanları DeviceId
meta veriye eklenir.
Aşağıdaki sorguyu kullanın:
select *, DeviceId, DeviceStatus from iotHubInput
Çıktıda özellik sütunları olarak yapılandırın
DeviceId,DeviceStatus
.
Aşağıdaki görüntü, Service Bus Gezgini kullanılarak EventHub'da incelenen beklenen çıkış iletisi özelliklerinin görüntüsüdür.
Sistem özellikleri
Sorgu sütunlarını giden hizmet veri yolu Kuyruğunuza veya Konu iletilerinize sistem özellikleri olarak ekleyebilirsiniz.
Bu sütunlar yüke girmez, bunun yerine karşılık gelen ServiceBusMessage sistem özelliği sorgu sütunu değerleriyle doldurulur.
Bu sistem özellikleri desteklenir - MessageId, ContentType, Label, PartitionKey, ReplyTo, SessionId, CorrelationId, To, ForcePersistence, TimeToLive, ScheduledEnqueueTimeUtc
.
Bu sütunların dize değerleri ilgili sistem özelliği değer türü olarak ayrıştırılır ve ayrıştırma hataları veri hataları olarak kabul edilir. Bu alan bir JSON nesne biçimi olarak sağlanır. Bu biçimle ilgili ayrıntılar aşağıdaki gibidir:
- Küme ayraçları {}ile çevrili.
- Anahtar/değer çiftleri olarak yazılır.
- Anahtarlar ve değerler dize olmalıdır.
- Anahtar, sistem özellik adı ve değer sorgu sütun adıdır.
- Anahtarlar ve değerler iki nokta üst üste ile ayrılır.
- Her anahtar/değer çifti virgülle ayrılır.
Bu, bu özelliğin nasıl kullanılacağını gösterir –
- Sorgu:
select *, column1, column2 INTO queueOutput FROM iotHubInput
- Sistem Özelliği Sütunları:
{ "MessageId": "column1", "PartitionKey": "column2"}
MessageId
Bu, service bus kuyruğu iletilerini 'nin değerlerine column1
ve PartitionKey'in değerleriyle column2
ayarlanır.
Sonraki adımlar
- Hızlı Başlangıç: Azure portalını kullanarak Stream Analytics işi oluşturma
- Hızlı Başlangıç: Azure CLI kullanarak Azure Stream Analytics işi oluşturma
- Hızlı Başlangıç: ARM şablonu kullanarak Azure Stream Analytics işi oluşturma
- Hızlı Başlangıç: Azure PowerShell kullanarak Stream Analytics işi oluşturma
- Hızlı Başlangıç: Visual Studio kullanarak Azure Stream Analytics işi oluşturma
- Hızlı Başlangıç: Visual Studio Code'da Azure Stream Analytics işi oluşturma