Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
İleti zenginleştirmeleri , bir IoT hub'ının iletileri belirlenen uç noktaya gönderilmeden önce ek bilgilerle damgalama özelliğidir. İleti zenginleştirmelerini kullanmanın bir nedeni, aşağı akış işlemeyi basitleştirmek için kullanılabilecek verileri eklemektir. Örneğin, cihaz telemetri iletilerini bir cihaz ikizi etiketiyle zenginleştirmek, bu bilgiler için cihaz ikizi API çağrıları yapmak için müşterilerin yükünü azaltabilir.
İleti zenginleştirmesi üç temel öğeye sahiptir:
Zenginleştirme adı veya anahtarı
Bir değer
Zenginleştirmenin uygulanması gereken bir veya daha fazla uç nokta .
anahtarı bir dizedir. Anahtar yalnızca alfasayısal karakterler veya şu özel karakterleri içerebilir: kısa çizgi (-
), alt çizgi (_
) ve nokta (.
).
değeri aşağıdaki örneklerden biri olabilir:
Herhangi bir statik dize. Koşullar, mantık, işlemler ve işlevler gibi dinamik değerlere izin verilmez. Örneğin, birkaç müşteri tarafından kullanılan bir SaaS uygulaması geliştirirseniz, her müşteriye bir tanımlayıcı atayabilir ve bu tanımlayıcıyı uygulamada kullanılabilir hale getirebilirsiniz. Uygulama çalıştırıldığında IoT Hub, cihaz telemetri iletilerini müşterinin tanımlayıcısıyla damgalar ve bu sayede iletilerin her müşteri için farklı şekilde işlenmesi mümkün olur.
İletiyi gönderen IoT hub'ının adı. Bu değer $iothubname.
Cihaz ikizinden alınan bilgiler, örneğin yolu. Örnek olarak $twin.tags.field ve $twin.tags.latitude verilebilir.
Uyarı
Şu anda yalnızca $iothubname, $twin.tags, $twin.properties.desired ve $twin.properties.reported ileti zenginleştirme için desteklenen değişkenlerdir. Ayrıca, zenginleştirmeler için yalnızca ilkel türler desteklenir. İletiler nesne türleriyle zenginleştirilemez.
İleti Zenginleştirmeleri, seçilen uç noktalara gönderilen iletilere uygulama özellikleri olarak eklenir.
Zenginleştirmeleri uygulama
İletiler, aşağıdaki örnekler de dahil olmak üzere IoT Hub ileti yönlendirmesi tarafından desteklenen herhangi bir veri kaynağından gelebilir:
- sıcaklık veya basınç gibi cihaz telemetrisi
- cihaz ikizi değişiklik bildirimleri -- cihaz ikizindeki değişiklikler
- cihaz oluşturulduğunda veya silindiğinde olduğu gibi cihaz yaşam döngüsü olayları
IoT hub'ının yerleşik uç noktasına giden iletilere veya Azure Blob depolama, Service Bus kuyruğu veya Service Bus konusu gibi özel uç noktalara yönlendirilen iletilere zenginleştirmeler ekleyebilirsiniz.
Ayrıca, önce cihaz telemetri ileti türüyle bir Event Grid aboneliği oluşturarak Event Grid'de yayımlanan iletilere zenginleştirmeler ekleyebilirsiniz. Bu abonelik temelinde, telemetri için Azure IoT Hub'da varsayılan bir yol oluşturacağız. Bu tek yol tüm Event Grid aboneliklerinizi işleyebilir. Ardından IoT Hub İleti yönlendirme bölümünün İletileri zenginleştir sekmesini kullanarak uç nokta için zenginleştirmeleri yapılandırabilirsiniz. Event Grid kullanarak olaylara tepki verme hakkında bilgi için bkz. IoT Hub ve Event Grid.
Zenginleştirmeler uç nokta başına uygulanır. Belirli bir uç nokta için damgalanacak beş zenginleştirme belirtirseniz, bu uç noktaya giden tüm iletiler aynı beş zenginleştirmeyle damgalanır.
Zenginleştirmeler aşağıdaki yöntemler kullanılarak yapılandırılabilir:
Yöntemi | Komut |
---|---|
Portal | Azure portalıİleti zenginleştirmeleri öğreticisine bakın |
Azure Komut Satırı Arayüzü (Azure CLI) | az iot hub mesaj zenginleştirme |
Azure PowerShell | Add-AzIotHubMessageEnrichment |
İleti zenginleştirmeleri eklemek, ileti yönlendirmeye gecikme eklemez.
İleti zenginleştirmelerini denemek için ileti zenginleştirmeleri öğreticisine bakın
Sınırlamalar
Standart veya temel katmanda bu hub'lar için IoT hub'ı başına en fazla 10 zenginleştirme ekleyebilirsiniz. Ücretsiz katmandaki IoT hub'ları için en fazla 2 zenginleştirme ekleyebilirsiniz.
Bazı durumlarda, bir iletiyi cihaz ikizindeki bir etikete veya özelliğe ayarlanmış bir değerle zenginleştiriyorsanız, değer belirtilen cihaz ikizi yolu ile damgalanır. Örneğin, bir zenginleştirme değeri $twin.tags.field olarak ayarlanırsa, iletiler ikizden bu alanın değeri yerine "$twin.tags.field" dizesiyle damgalanır. Bu davranış aşağıdaki durumlarda gerçekleşir:
IoT hub'ınız temel katmandadır. Temel katman IoT hub'ları cihaz ikizlerini desteklemez.
IoT hub'ınız standart katmandadır, ancak zenginleştirme değeri için kullanılan cihaz ikizi yolu mevcut değildir. Örneğin, zenginleştirme değeri $twin.tags.location olarak ayarlanırsa ve cihaz ikizinin etiketlerin altında bir konum özelliği yoksa, ileti "$twin.tags.location" dizesiyle damgalanır.
IoT hub'ınız standart katmandadır, ancak zenginleştirmenin değeri için kullanılan cihaz ikizi yolu basit bir özellik yerine bir nesneye çözümleniyor. Örneğin, zenginleştirme değeri $twin.tags.location olarak ayarlanırsa ve etiketlerin altındaki location özelliği gibi
{"building": 43, "room": 503}
alt özellikleri içeren bir nesneyse, ileti "$twin.tags.location" dizesiyle damgalanır.
Cihaz ikizi güncelleştirmelerinin ilgili zenginleştirme değerine yansıtılması beş dakika kadar sürebilir.
Zenginleştirmeler de dahil olmak üzere toplam ileti boyutu 256 KB'ı aşamaz. İleti boyutu 256 KB'ı aşarsa IoT hub'ı iletiyi bırakır. İletiler bırakıldığında hataları belirlemek ve hata ayıklamak için IoT Hub ölçümlerini kullanabilirsiniz. Örneğin, yönlendirme ölçümlerinde telemetri iletilerini uyumsuz (d2c.telemetry.egress.invalid) izleyebilirsiniz. Daha fazla bilgi edinmek için IoT Hub'ı İzleme konusuna bakın.
İleti zenginleştirmeleri dijital ikiz değişiklik olayları için geçerli değildir.
Modüller, karşılık gelen cihazlarından ikiz etiketlerini devralamaz. Cihaz modüllerinden (örneğin IoT Edge modüllerinden) kaynaklanan iletiler için zenginleştirmeler, modül ikizinde ayarlanan ikiz etiketlerini kullanmalıdır.
Fiyatlandırma
İleti zenginleştirmeleri ek ücret ödemeden kullanılabilir. Şu anda bir IoT hub'ına ileti gönderdiğinizde ücretlendirilirsiniz. İleti birden çok uç noktaya gitse bile bu ileti için yalnızca bir kez ücretlendirilirsiniz.
Sonraki Adımlar
İletileri IoT hub'ına yönlendirme hakkında daha fazla bilgi için şu makalelere göz atın: