Azure Event Grid'de MQTT aracı özelliğine genel bakış
Azure Event Grid, Nesnelerin İnterneti (IoT) çözümlerinizi desteklemek için MQTT istemcilerinizin birbirleriyle ve Azure hizmetleriyle iletişim kurmasını sağlar.
Azure Event Grid'in MQTT aracı özelliği aşağıdaki senaryoları gerçekleştirmenizi sağlar:
- Telemetriyi çoka bir mesajlaşma düzeni kullanarak alın. Bu düzen, uygulamanın cihazlarla çok sayıda bağlantıyı Event Grid'e yönetme yükünü boşaltmasını sağlar.
- İstek yanıtı (bire bir) mesajlaşma desenini kullanarak MQTT istemcilerinizi denetleyin. Bu düzen, istemcilerin rollerinden bağımsız olarak herhangi bir istemcinin kısıtlama olmadan diğer istemcilerle iletişim kurmasını sağlar.
- Bire çok mesajlaşma düzenini kullanarak bir istemci filosuna uyarılar yayınlar. Bu düzen, uygulamanın hizmetin ilgili her istemci için çoğalttığını yalnızca bir ileti yayımlamasına olanak tanır.
- MQTT iletilerini HTTP Anında iletme teslim işlevi aracılığıyla Azure hizmetlerine ve Web kancalarına yönlendirerek MQTT istemcilerinizin verilerini tümleştirin. Azure hizmetleriyle bu tümleştirme, IoT cihazlarınızdan veri alımıyla başlayan veri işlem hatları oluşturmanıza olanak tanır.
Bu senaryoları gösteren kod örneklerini bu depoda bulabilirsiniz.
MQTT aracısı, diğerleriyle birlikte otomotiv ve mobilite senaryolarının uygulanması için idealdir. Azure'ın mesajlaşma ve veri analizi hizmetlerini kullanarak milyonlarca aracı buluta bağlamak için güvenli ve ölçeklenebilir çözümler oluşturmayı öğrenmek için başvuru mimarisine bakın.
Önemli kavramlar
Aşağıda, Azure Event Grid'in MQTT aracı özelliğinde yer alan temel kavramların listesi yer almaktadır.
MQTT
MQTT, kısıtlanmış ortamlar için tasarlanmış bir yayımlama-abone olma mesajlaşma aktarım protokolüdür. Verimlilik, ölçeklenebilirlik ve güvenilirlik nedeniyle IoT senaryoları için iletişim standardıdır. MQTT aracısı, istemcilerin WebSockets, MQTT v5 ve MQTT v5 üzerinden WebSockets protokolleri üzerinden MQTT v3.1.1, MQTT v3.1 ve MQTT v5 üzerinden iletileri yayımlamasına ve abone olmasını sağlar. Aşağıdaki listede MQTT aracısının bazı özellik vurguları gösterilmektedir:
MQTT v5 özellikleri:
- Kullanıcı özellikleri , ileti hakkında daha fazla bağlam sağlamak için ileti üst bilgisine özel anahtar-değer çiftleri eklemenize olanak tanır. Örneğin, alıcının iletiyi verimli bir şekilde işleyebilmesi için iletinin amacını veya kaynağını ekleyin.
- İstek-yanıt düzeni , istemcinizin standart istek-yanıt zaman uyumsuz desenden yararlanmasını sağlar ve istemcinin önceki yapılandırmaya gerek kalmadan yanıt verme isteğinde yanıt konusunu ve bağıntı kimliğini belirtir.
- İleti süre sonu aralığı , artık ilgili veya geçerli olmayan bir iletiyi göz ardı etmek için MQTT aracısına bildirmenizi sağlar. Örneğin, eski komutları veya uyarıları göz ardı edin.
- Konu diğer adları , istemcilerinizin konu alanının boyutunu küçültmesine yardımcı olarak veri aktarımını daha az maliyetli hale getirir.
- İleti boyutu üst sınırı, istemcilerinizin sunucudan işleyebileceği en büyük ileti boyutunu denetlemesine olanak tanır.
- Maksimum Alma, istemcilerinizin işlem hızı veya depolama özellikleri gibi özelliklerine bağlı olarak ileti hızını denetlemesine olanak tanır.
- Temiz başlangıç ve oturum süre sonu , istemcinizin abonelik bilgilerini ve iletilerini yapılandırılabilir bir zaman aralığı için koruyarak oturum güvenilirliğini ve güvenliğini iyileştirmesini sağlar.
- Olumsuz bildirimler, müşterilerinizin farklı hata kodlarına verimli bir şekilde tepki vermelerini sağlar.
- Sunucu tarafından gönderilen bağlantı kesme paketleri , istemcilerinizin bağlantı kesilmelerini verimli bir şekilde işlemesini sağlar.
MQTT aracısı, MQTT belirtimleriyle daha fazla uyumlu hale getirmek için gelecekte daha fazla MQTT v5 özelliği ekliyor. Aşağıdaki öğeler, MQTT aracısı tarafından desteklenen özellikler ile MQTT v5 belirtimleri arasındaki geçerli farkları ayrıntılı olarak açıklar: Will message, Retain flag, Message ordering ve QoS 2 desteklenmez.
MQTT v3.1.1 özellikleri:
- Kalıcı oturumlar , istemci bağlantısı kesildiğinde istemcinin abonelik bilgilerini ve iletilerini koruyarak güvenilirliği güvence altına alır.
- QoS 0 ve 1 , müşterilerinize iletişimin verimliliği ve güvenilirliği üzerinde denetim sağlar.
MQTT aracısı, MQTT belirtimleriyle daha fazla uyumlu hale getirmek için gelecekte daha fazla MQTT v3.1.1 özelliği ekliyor. Aşağıdaki öğeler, MQTT aracısı tarafından desteklenen özellikler ile MQTT v3.1.1 belirtimi arasındaki geçerli farkları ayrıntılı olarak açıklar: Will message, Retain flag, Message ordering ve QoS 2 desteklenmez.
Yayımla-Abone Ol mesajlaşma modeli
Yayımla-abone ol mesajlaşma modeli, istemcilere ölçeklenebilir ve zaman uyumsuz bir iletişim sağlar. İstemcilerin hizmete çok sayıda bağlantı ve ileti işleme yükünü boşaltmasına olanak tanır. Yayımla-Abone Ol mesajlaşma modeli aracılığıyla, istemcileriniz bire çok, çoka bir ve bire bir mesajlaşma düzenlerini kullanarak verimli bir şekilde iletişim kurabilir.
- Bire çok mesajlaşma düzeni, istemcilerin hizmetin tüm ilgili istemciler için çoğalttığını yalnızca bir ileti yayımlamasına olanak tanır.
- Çoka bir mesajlaşma düzeni, istemcilerin MQTT aracısına yönelik çok sayıda bağlantıyı yönetme yükünü boşaltmasına olanak tanır.
- Bire bir mesajlaşma düzeni, istemcilerin rollerinden bağımsız olarak herhangi bir istemcinin kısıtlama olmadan diğer istemcilerle iletişim kurmasını sağlar.
Ad Alanı
Event Grid Ad Alanı, çekme teslim işlevselliğini destekleyen kaynakların yanı sıra MQTT aracı işlevselliğini destekleyen kaynaklar için bir yönetim kapsayıcısıdır. MQTT istemciniz MQTT aracısına bağlanabilir ve iletileri yayımlayabilir/abone olabilirken, MQTT aracısı istemcilerinizin kimliğini doğrular, yayımlama/abone olma isteklerini yetkiler ve iletileri ilgili istemcilere iletir. Ad alanı kavramı hakkında daha fazla bilgi edinin.
Müşteriler
İstemciler, MQTT iletileri yayımlayan ve MQTT iletilerine abone olan IoT cihazlarına veya uygulamalarına başvurur.
IoT cihazları, telemetri verilerini iletmek ve komutları almak için İnternet'e bağlı fiziksel nesnelerdir. Bu cihazlar sensörler, gereçler, makineler veya gömülü algılayıcılar ve yazılımlarla donatılmış diğer nesneler olabilir. Algılayıcılar ve yazılımlar, birbirleriyle ve çevrelerinizdeki ortamla iletişim kurmalarını ve etkileşim kurmalarını sağlar. IoT cihazlarının değeri, gerçek zamanlı veri ve içgörüler sağlama, işletmelerin ve bireylerin bilinçli kararlar almasına ve verimliliği ve üretkenliği artırmasına olanak tanır.
IoT uygulamaları, IoT cihazlarından gelen verilerle etkileşime geçmek ve verileri işlemek için tasarlanmış yazılımlardır. Bunlar genellikle veri toplama, işleme, depolama, görselleştirme ve analiz gibi bileşenleri içerir. Bu uygulamalar kullanıcıların bağlı cihazları izlemesine ve denetlemesine, görevleri otomatikleştirmesine ve IoT cihazları tarafından oluşturulan verilerden içgörüler elde etmelerine olanak tanır.
İstemci kimlik doğrulaması
Event Grid'de, bağlanmasına izin verilen istemcilerle ilgili bilgileri depolayan bir istemci kayıt defteri vardır. İstemcinin bağlanabilmesi için önce istemci kayıt defterinde bu istemci için bir giriş olması gerekir. bir istemci MQTT aracısına bağlandığında, kimlik kayıt defterinde depolanan kimlik bilgilerine göre MQTT aracısı ile kimlik doğrulaması yapması gerekir. MQTT aracısı, IoT cihazlarında endüstri kimlik doğrulaması standardı olan X.509 sertifika kimlik doğrulamasını ve uygulamalar için Azure'ın kimlik doğrulama standardı olan Microsoft Entra Id'yi (eski adıyla Azure Active Directory) destekler.MQTT istemci kimlik doğrulaması hakkında daha fazla bilgi edinin.
Erişim denetimi
Erişim denetimi, ioT ortamlarının muazzam ölçeğini ve kısıtlanmış cihazların benzersiz güvenlik zorluklarını göz önünde bulundurarak IoT senaryoları için kritik öneme sahiptir. Event Grid, istemcilerin konu yayımlama veya abone olma yetkilendirmesini yönetmenizi sağlayan esnek bir erişim denetimi modeli aracılığıyla Rol Tabanlı Erişim Denetimi (RBAC) sunar.
IoT ortamlarının muazzam ölçeği göz önüne alındığında, her bir konu başlığına her istemci için izin atamak son derece yorucudur. Event Grid'in esnek erişim denetimi, istemcileri ve konuları istemci grupları ve konu alanları halinde gruplandırarak bu ölçek sınamasını ele alır. İstemci grupları ve konu alanları oluşturduktan sonra, bir konu alanını yayımlamak veya abone olmak üzere bir istemci grubuna erişim vermek için bir izin bağlaması yapılandırabilirsiniz.
Konu alanları ayrıca, bir istemci grubundaki her istemcinin kendi konusunu yayımlamak veya abone olmak için yetkilendirmesini denetlemenize olanak tanıyarak ayrıntılı erişim denetimi sağlar. Bu ayrıntılı erişim denetimi, konu şablonlarındaki değişkenler kullanılarak elde edilir. Erişim denetimi hakkında daha fazla bilgi edinin.
Yönlendirme
Event Grid, daha fazla işlem için MQTT iletilerinizi Azure hizmetlerine veya web kancalarına yönlendirmenizi sağlar. Buna göre, ioT verilerinizi diğer kullanım örneklerinin yanında veri analizi, depolama ve görselleştirmeler için kullanarak uçtan uca çözümler oluşturabilirsiniz. Yönlendirme yapılandırması, istemcilerinizden gelen tüm MQTT iletilerinizi bir Event Grid ad alanı konusuna veya Event Grid özel konusuna göndermenizi sağlar. İletiler konuya girdikten sonra, konu başlığındaki iletileri kullanmak için bir olay aboneliği yapılandırabilirsiniz. Örneğin, bu işlevsellik, cihaz telemetrinizden içgörüler elde etmek için IoT cihazlarınızdan Event Hubs'a ve ardından Azure Stream Analytics'e telemetriyi yönlendirmek için Event Grid'i kullanmanıza olanak tanır. Yönlendirme hakkında daha fazla bilgi edinin.
Edge MQTT aracısı tümleştirmesi
Event Grid, Azure IoT MQ ile tümleştirerek bulutta Azure Event Grid'in MQTT aracı özelliğiyle uçtaki MQTT aracı özelliğini köprüler. Azure IoT MQ, Arc özellikli Kubernetes kümelerinde çalışan uç bilgi işlem için yeni bir dağıtılmış MQTT aracısıdır. Sistem tarafından atanan yönetilen kimliği kullanarak Microsoft Entra Id (eski adıYla Azure Active Directory) kimlik doğrulaması ile Event Grid MQTT aracısına bağlanabilir ve bu da kimlik bilgisi yönetimini basitleştirir. Azure IoT MQ, IoT cihazlarınız ve uygulamalarınız için yüksek kullanılabilirlik, ölçeklenebilirlik ve güvenlik sağlar. Azure IoT İşlemleri kapsamında genel önizleme sürümünde kullanıma sunuldu. Azure IoT MQ'yi Azure Event Grid'in MQTT aracısına bağlama hakkında daha fazla bilgi edinin
MQTT İstemcileri Yaşam Döngüsü Olayları
İstemci Yaşam Döngüsü olayları, uygulamaların istemci bağlantı durumu veya istemci kaynak işlemleriyle ilgili olaylara tepki vermesine olanak tanır. İstemcinizin bağlantı durumunu izlemenize, istemci bağlantısı kesilmelerine yönelik bir azaltma eylemiyle tepki vermenizi ve otomatik yük devretmeler sırasında istemcilerinizin bağlı olduğu ad alanını izlemenize olanak tanır. MQTT İstemcisi Yaşam Döngüsü Olayları hakkında daha fazla bilgi edinin.
Sonraki adımlar
MQTT aracısı ve ana kavramları hakkında daha fazla bilgi edinmek için aşağıdaki makaleleri kullanın.