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 yönlendirme, cihazlarınızdan bulut hizmetlerine otomatik, ölçeklenebilir ve güvenilir bir şekilde ileti göndermenizi sağlar. İleti yönlendirme şu şekilde kullanılabilir:
Cihaz telemetri iletilerini ve olaylarını yerleşik uç noktaya ve özel uç noktalara gönderin. Yönlendirilebilen olaylar cihaz yaşam döngüsü olayları, cihaz ikizi değişiklik olayları, dijital ikiz değişiklik olayları ve cihaz bağlantı durumu olaylarıdır.
Zengin sorgular uygulayarak verileri yönlendirmeden önce filtreleyin. İleti yönlendirme, ileti özellikleri ve ileti gövdesinin yanı sıra cihaz ikizi etiketlerini ve cihaz ikizi özelliklerini sorgulamanızı sağlar. Daha fazla bilgi için bkz . İleti yönlendirmedeki sorgular.
IoT Hub, protokoller arasında birlikte çalışabilirlik için tüm cihazdan buluta mesajlaşma için ortak bir biçim tanımlar. Daha fazla bilgi için bkz IoT Hub iletileri oluşturma ve okuma.
Not
Buluttan cihaza mesajlaşma, cihaz ikizleri ve cihaz yönetimi gibi bu makalede bahsedilen özelliklerden bazıları yalnızca IoT Hub'ın standart katmanında kullanılabilir. Temel ve standart/ücretsiz IoT Hub katmanları hakkında daha fazla bilgi için bkz. çözüm için doğru IoT Hub katmanını ve boyutunu seçme.
Yönlendirme uç noktaları
Her IoT hub'ına Event Hubs ile uyumlu iletiler/olaylar adlı varsayılan bir yönlendirme uç noktası vardır. Ayrıca Azure aboneliğinizdeki diğer hizmetlere işaret eden özel uç noktalar da oluşturabilirsiniz.
IoT Hub şu anda ileti yönlendirme için aşağıdaki uç noktaları destekler:
- Yerleşik uç nokta
- Depolama kapsayıcıları
- Service Bus kuyrukları
- Service Bus konuları
- Event Hubs
- Cosmos DB
Bu uç noktaların her biri hakkında daha fazla bilgi için bkz . IoT Hub uç noktaları.
Her ileti, yönlendirme sorguları eşleşen tüm uç noktalara yönlendirilir; bu da bir iletinin birden çok uç noktaya yönlendirilebileceği anlamına gelir. Ancak, bir ileti aynı uç noktaya işaret eden birden çok yolla eşleşiyorsa, IoT Hub iletiyi bu uç noktaya yalnızca bir kez teslim eder.
İleti yönlendirmenin çalışması için IoT Hub'ın bu hizmet uç noktalarına yazma erişimi olması gerekir. Uç noktalarınızı Azure portalı üzerinden yapılandırıyorsanız, sizin için gerekli izinler eklenir. Uç noktalarınızı PowerShell veya Azure CLI kullanarak yapılandırıyorsanız yazma erişimi izni vermeniz gerekir.
Uç noktaların nasıl oluşturulacağını öğrenmek için bkz. Azure portalını kullanarak yolları ve uç noktaları yönetme.
Hizmetlerinizi beklenen aktarım hızını destekleyecek şekilde yapılandırdığınızdan emin olun. Örneğin, Event Hubs'ı özel uç nokta olarak kullanıyorsanız, IoT Hub ileti yönlendirmesi aracılığıyla göndermeyi planladığınız olayların girişiyle başa çıkabilmesi için bu olay hub'ının aktarım hızı birimlerini yapılandırmanız gerekir. Benzer şekilde, uç nokta olarak Service Bus kuyruğu kullanılırken, kuyruğun en büyük boyutunu, tüm veri girişlerini tüketiciler tarafından çıkış yapılana kadar tutabilmesi için yapılandırmanız gerekir. IoT çözümünüzü ilk kez yapılandırırken diğer uç noktalarınızı izlemeniz ve gerçek yük için ayarlamalar yapmanız gerekebilir.
Özel uç noktanızda güvenlik duvarı yapılandırmaları varsa, Microsoft'un güvenilen birinci taraf özel durumunu kullanmayı göz önünde bulundurun.
Başka bir abonelikteki bir uç noktaya yönlendirme
Uç nokta kaynağı IoT hub'ınızdan farklı bir abonelikteyse, güvenlik gereksinimlerinize bağlı olarak farklı kimlik doğrulama yöntemleri kullanabilirsiniz:
Anahtar tabanlı kimlik doğrulaması: Bağlantı dizelerini kullanarak farklı aboneliklerdeki ve hatta farklı kiracılardaki uç noktalarda kimlik doğrulaması yapabilirsiniz. Bu yöntem, kimlik doğrulaması için uç noktanın erişim anahtarlarını veya bağlantı dizelerini kullanır.
Kullanıcı tarafından atanan yönetilen kimlik: Gelişmiş güvenlik için IoT hub'ınızı güvenilir bir Microsoft hizmeti olarak yapılandırabilir ve kimlik doğrulaması için kullanıcı tarafından atanan yönetilen kimliği kullanabilirsiniz. Bu yöntem, özel uç nokta oluşturmadan önce yönetilen kimliği yapılandırmayı gerektirir.
Yönetilen kimlik doğrulaması hakkında daha fazla bilgi için bkz. IoT Hub'dan diğer Azure kaynaklarına çıkış bağlantısı.
Yönlendirme sorguları
IoT Hub ileti yönlendirme, verileri uç noktalara yönlendirmeden önce filtrelemek için bir sorgulama özelliği sağlar. Her yönlendirme sorgusu aşağıdaki özelliklere sahiptir:
| Özellik | Açıklama |
|---|---|
| Adı | Sorguyu tanımlayan benzersiz ad. |
| Kaynak | Üzerinde işlem yapılacak veri akışının kaynağı. Örneğin, cihaz telemetrisi. |
| Condition | Uç noktayla eşleşip eşleşmediğini belirlemek için ileti uygulaması özellikleri, sistem özellikleri, ileti gövdesi, cihaz ikizi etiketleri ve cihaz ikizi özelliklerine karşı çalıştırılacak yönlendirme sorgusunun sorgu ifadesi. |
| Uç nokta | IoT Hub'ın sorguyla eşleşen iletiler gönderdiği uç noktanın adı. IoT hub'ınız ile aynı bölgede bir uç nokta seçmenizi öneririz. |
Tek bir ileti birden çok yönlendirme sorgusundaki koşulla eşleşebilir ve bu durumda IoT Hub iletiyi eşleşen her sorguyla ilişkili uç noktaya teslim eder. IoT Hub ayrıca mesaj teslimatını otomatik olarak benzer mesajlardan arındırıyor. bir ileti aynı hedefe sahip birden çok sorguyla eşleşiyorsa IoT Hub bunu yalnızca bir kez o hedefe gönderir.
Daha fazla bilgi için IoT Hub ileti yönlendirme sorgusu söz dizimi'ye bakın.
Yönlendirilen verileri okuma
Bir uç noktadan iletileri okumayı öğrenmek için aşağıdaki makaleleri kullanın.
Blob depolama biriminden okuma
Event Hubs'dan okuma
Service Bus kuyruklarından oku
Service Bus konu başlıklarından okuma
Geri dönüş yolu
Geri dönüş yolu, mevcut yollardan herhangi birinde sorgu koşullarını karşılamayan tüm iletileri Event Hubs ile uyumlu yerleşik uç noktaya (iletiler/olaylar) gönderir. İleti yönlendirme etkinleştirildiyse geri dönüş yolu özelliğini etkinleştirebilirsiniz. Herhangi bir yol oluşturulduktan sonra, bu uç noktaya bir yol oluşturulmadığı sürece veriler yerleşik uç noktaya akmaya son verir. Yerleşik uç noktaya yol yoksa ve bir geri dönüş yolu etkinleştirilirse, yalnızca yollardaki sorgu koşullarıyla eşleşmeyen iletiler yerleşik uç noktaya gönderilir. Tüm mevcut yollar silinse bile, yerleşik uç noktadaki tüm verileri almak için geri dönüş yolu özelliğinin etkinleştirilmesi gerekir.
Geri dönüş yolunu , İleti yönlendirme sayfasındaki Azure portalında etkinleştirebilir veya devre dışı bırakabilirsiniz. Geri dönüş yolu için özel bir uç nokta kullanmak üzere FallbackRouteProperties için Azure Resource Manager'ı da kullanabilirsiniz.
Telemetri dışı olaylar
İleti yönlendirme, cihaz telemetrisine ek olarak aşağıdakiler de dahil olmak üzere telemetri dışı olayların gönderilmesini de sağlar:
- Cihaz ikizi değişiklik olayları
- Cihaz yaşam döngüsü olayları
- Cihaz işi yaşam döngüsü olayları
- Dijital ikiz değişiklik olayları
- Cihaz bağlantı durumu olayları
Örneğin, veri kaynağı Cihaz İkizi Değişiklik Olayları olarak ayarlanmış bir yol oluşturulursa, IoT Hub uç noktaya cihaz ikizindeki değişikliği içeren iletiler gönderir. Benzer şekilde, veri kaynağı Cihaz Yaşam Döngüsü Olayları olarak ayarlanmış bir yol oluşturulursa, IoT Hub cihazın veya modülün silindiğini veya oluşturulduğunu belirten bir ileti gönderir. Cihaz yaşam döngüsü olayları hakkında daha fazla bilgi için bkz . Cihaz ve modül yaşam döngüsü bildirimleri.
Azure IoT Plug and Play kullanırken, bir geliştirici veri kaynağını Dijital İkiz Değişiklik Olayları olarak ayarlayarak yollar oluşturabilir. IoT Hub, bir dijital ikiz özelliği ayarlandığında veya değiştirildiğinde, dijital ikiz değiştirildiğinde veya temel alınan cihaz ikizi için bir değişiklik olayı gerçekleştiğinde mesajlar gönderir. Son olarak, veri kaynağı Cihaz Bağlantı Durumu Olayları olarak ayarlanmış bir yol oluşturulursa IoT Hub, cihazın bağlı mı yoksa bağlantısı kesilmiş mi olduğunu belirten bir ileti gönderir.
IoT Hub, bu olaylara dayalı gerçek zamanlı tümleştirmeleri ve iş akışlarının otomasyonunu desteklemek üzere cihaz olaylarını yayımlamak için Azure Event Grid ile de tümleşir. Senaryonuz için en uygun hizmeti öğrenmek için bkz. İleti yönlendirme ve Event Grid arasındaki farklar.
Cihaz bağlantı durumu olaylarıyla ilgili sınırlamalar
Cihaz bağlantı durumu olayları, MQTT veya AMQP protokolü veya WebSockets üzerinden bu protokollerden birini kullanarak bağlanan cihazlar için kullanılabilir. Yalnızca HTTPS ile yapılan istekler cihaz bağlantı durumu bildirimlerini tetiklemez. IoT Hub'ın cihaz bağlantı durumu olaylarını göndermeye başlaması için, bir bağlantı açıldıktan sonra bir cihazın buluttan cihaza alma iletisi işlemini veya cihazdan buluta gönderme telemetri işlemini çağırması gerekir. Azure IoT SDK'ları dışında, MQTT'de bu işlemler uygun mesajlaşma konularındaki SUBSCRIBE veya PUBLISH işlemlerine eşit olur. AMQP üzerinden bu işlemler, bir iletiyi uygun bağlantı yollarına eklemeye veya aktarmaya eşit olur. Daha fazla bilgi için aşağıdaki makaleleri inceleyin:
IoT Hub her bir cihaz bağlanma ve bağlantıyı kesme olayını bildirmez, bunun yerine düzenli aralıklı 60 saniyelik anlık görüntüde alınan geçerli bağlantı durumunu yayımlar. Farklı sıra numaraları veya farklı bağlantı durumu olaylarıyla aynı bağlantı durumu olayının alınması, her ikisi de 60 saniyelik pencere sırasında cihaz bağlantı durumunda bir değişiklik olduğu anlamına gelir.
Test yolları
Yeni bir yol oluşturduğunuzda veya mevcut bir yolu düzenlerken, yol sorgusunu örnek bir iletiyle test etmelisiniz. Tek tek yolları test edebilir veya tüm yolları aynı anda test edebilirsiniz ve test sırasında uç noktalara hiçbir ileti yönlendirilmemiştir. Test için Azure portalı, Azure Resource Manager, Azure PowerShell ve Azure CLI kullanılabilir. Sonuçlar, örnek iletinin sorguyla eşleşip eşleşmediğini ya da örnek ileti veya sorgu söz dizimi yanlış olduğundan testin çalıştırılamadığını belirlemeye yardımcı olur. Daha fazla bilgi edinmek için bkz . Test Rotası ve Tüm Yolları Test Etme.
Gecikme süresi
Cihazdan buluta telemetri iletilerini yönlendirdiğinizde, ilk yol oluşturulduktan sonra uçtan uca gecikme süresinde küçük bir artış olur.
Çoğu durumda gecikme süresindeki ortalama artış 500 milisaniyeden kısadır. Ancak, karşılaştığınız gecikme süresi, IoT hub'ınızın katmanına ve çözüm mimarinize bağlı olarak değişebilir ve daha yüksek olabilir. IoT Hub ölçümlerini kullanarak, Yönlendirme: iletiler/olaylar için ileti gecikme süresi veya d2c.endpoints.latency.builtIn.events gecikme süresini izleyebilirsiniz. İlk yoldan sonra herhangi bir yol oluşturmak veya silmek uçtan uca gecikme süresini etkilemez.
İzleme ve sorun giderme
IoT Hub, hub'ınızın durumuna ve gönderilen iletilere genel bir bakış sağlamak için yönlendirme ve uç noktalarla ilgili çeşitli ölçümler sağlar. Ayrıca, IoT Hub kaynak günlüklerindeki yollar kategorisiyle IoT Hub tarafından algılanan yönlendirme sorgusunun ve uç nokta durumunun değerlendirilmesi sırasında oluşan hataları izleyebilirsiniz. IoT Hub ile ölçümleri ve kaynak günlüklerini kullanma hakkında daha fazla bilgi edinmek için bkz . Azure IoT Hub'ı izleme.
Uç noktaların sağlık durumunu almak için Get Endpoint Health REST API'sini kullanabilirsiniz.
Daha fazla ayrıntıya ulaşmak ve yönlendirme sorunlarını giderme konusunda destek almak için bkz. Yönlendirme sorunlarını giderme kılavuzu.