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.
IoT cihazlarınızdan blob depolama, Service Bus Kuyrukları, Service Bus Konuları ve Event Hubs gibi Azure hizmetlerine telemetri verileri göndermek için Azure IoT Hub'da ileti yönlendirmeyi kullanın. Her IoT hub'ında Event Hubs ile uyumlu varsayılan bir yerleşik uç nokta vardır. Ayrıca yönlendirme sorguları tanımlayarak özel uç noktalar oluşturabilir ve iletileri diğer Azure hizmetlerine yönlendirebilirsiniz. IoT hub'ına ulaşan her ileti, yönlendirme sorguları eşleşen tüm uç noktalara yönlendirilir. İleti tanımlı yönlendirme sorgularından hiçbirine uymuyorsa, varsayılan uç noktaya yönlendirilir.
Bu öğreticide, aşağıdaki görevleri gerçekleştireceksiniz:
- Bir IoT hub'ı oluşturun ve bu hub'a cihaz iletileri gönderin.
- Depolama hesabı oluşturma.
- Depolama hesabı için özel bir uç nokta oluşturun ve iletileri IoT hub'ından bu hesaba yönlendirin.
- Depolama hesabı blobunda cihaz iletilerini görüntüleyin.
Önkoşullar
Azure aboneliği. Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
Azure aboneliğinizde bir IoT merkezi. Henüz bir IoT hub'ına sahip değilseniz IoT hub'ı oluşturma makalesindeki adımları izleyebilirsiniz.
Bu öğreticide .NET için Microsoft Azure IoT SDK'sından alınan örnek kod kullanılır.
- SDK depoyu geliştirme makinenize indirin veya kopyalayın.
- Geliştirme makinenizde .NET Core 3.0.0 veya üzerini kullanın. Komutunu çalıştırarak
dotnet --versionsürümünüzü denetleyin ve gerekirse .NET'i indirin.
Güvenlik duvarınızda 8883 numaralı bağlantı noktasının açık olduğundan emin olun. Bu öğreticideki örnek, 8883 numaralı bağlantı noktası üzerinden iletişim kuran MQTT protokollerini kullanır. Bu bağlantı noktası bazı kurumsal ve eğitim ağı ortamlarında engellenebilir. Bu sorunu çözmenin daha fazla bilgi ve yolları için bkz. IoT Hub'a bağlanma.
İsteğe bağlı olarak Azure IoT Gezgini'ni (önizleme) yükleyin. Bu araç, IoT hub'ınıza ulaşan iletileri gözlemlemenize yardımcı olur. Bu makalede Azure IoT Gezgini kullanılır.
Azure portalı için başka önkoşul yoktur.
Cihazı kaydetme ve IoT Hub'a ileti gönderme
IoT hub'ınıza yeni bir cihaz kaydedin.
Önemli
Bu makale, simetrik anahtar kimlik doğrulaması olarak da adlandırılan paylaşılan erişim imzasını kullanarak bir cihazı bağlama adımlarını içerir. Bu kimlik doğrulama yöntemi test ve değerlendirme için uygundur, ancak X.509 sertifikalarını kullanarak bir cihazın kimliğini doğrulamak daha güvenli bir yaklaşımdır. Daha fazla bilgi edinmek için bkz . IoT çözümleri > için en iyi güvenlik yöntemleri Bağlantı güvenliği.
Menünün Cihaz yönetimi bölümünden Cihazlar'ı seçin.
Cihaz ekle'yi seçin.
Bir cihaz kimliği girin ve Kaydet'i seçin.
Yeni cihaz artık cihaz listesinde olmalıdır. Değilse sayfayı yenileyin. Cihaz ayrıntıları sayfasını açmak için cihaz kimliğini seçin.
Cihaz anahtarlarından birini kopyalayın ve kaydedin. Bu değeri, sanal cihaz telemetri iletileri oluşturan örnek kodu yapılandırmak için kullanırsınız.
Artık bir cihaz kimliğiniz ve anahtarınız olduğuna göre örnek kodu kullanarak IoT Hub'a cihaz telemetri iletileri göndermeye başlayın.
Tip
Bu öğretici için Azure CLI adımlarını izliyorsanız, örnek kodu ayrı bir oturumda çalıştırın. Bu şekilde, CLI adımlarının geri kalanını izlerken örnek kodun çalışmaya devam etmesi için izin vekleyebilirsiniz.
Önkoşulların bir parçası olarak yapmadıysanız github'dan .NET deposu için Microsoft Azure IoT SDK'sını indirin veya kopyalayın.
SDK'yı indirdiğiniz veya kopyaladığınız klasörden klasöre
azure-iot-sdk-csharp\iothub\device\samples\how to guides\HubRoutingSamplegidin..NET için Microsoft Azure IoT SDK'sını
HubRoutingSample.csprojve dosyada belirtildiği gibi gerekli bağımlılıkları yükleyin:dotnet restoreSeçtiğiniz bir düzenleyicide
Parameters.csdosyayı açın. Bu dosya, örnek tarafından desteklenen parametreleri gösterir. Bu makalede örneği çalıştırırken yalnızcaPrimaryConnectionStringparametresi kullanılır. Bu dosyadaki kodu gözden geçirin. Değişiklik gerekmez.Aşağıdaki komutu kullanarak örnek kodu derleyin ve çalıştırın:
IoT hub'ınızdaki cihazınızın birincil bağlantı dizesiyle
<myDevicePrimaryConnectionString>değerini değiştirin.dotnet run --PrimaryConnectionString <myDevicePrimaryConnectionString>IoT Hub'a gönderilirken çıktıya yazdırılan iletileri görmeye başlamanız gerekir. Eğitim sırasında bu programı çalışır durumda bırakın.
IoT Explorer'ı iletileri görüntülemek için yapılandırma
IoT Gezgini'ni IoT hub'ınıza bağlanacak ve yerleşik uç noktaya ulaşan iletileri okuyacak şekilde yapılandırın.
İlk olarak IoT hub'ınızın bağlantı dizesi alın.
Azure portalında IoT Hub'ınıza gidin.
Menünün Güvenlik ayarları bölümünde Paylaşılan erişim ilkeleri'ni seçin.
iothubowner ilkesini seçin.
Birincil bağlantı dizesi kopyalayın.
Şimdi bu bağlantı dizesi kullanarak IoT hub'ınız için IoT Gezgini'ni yapılandırın.
Geliştirme makinenizde IoT Explorer'ı açın.
Görüntüleniyorsa IoT Hub bağlantı dizesi aracılığıyla bağlan'ı seçin.
Bağlantı ekle'yi seçin.
Hub bağlantı dizesini metin kutusuna yapıştırın.
Kaydet'i seçin.
IoT hub'ınıza bağlandıktan sonra cihazların listesini görmeniz gerekir. Bu eğitim için oluşturduğunuz cihaz kimliğini seçin.
Telemetri'yi seçin.
Cihazınız çalışmaya devam ettiyse Başlat'ı seçin. Cihazınız çalışmıyorsa telemetriyi göremezsiniz.
Cihazınızdan gelen ve en son iletilerin en üstte görüntülendiği iletileri görmeniz gerekir.
Normal, depolama ve kritik olmak üzere üç farklı ileti türü gördüğünüzden emin olmak için gelen iletileri birkaç dakika izleyin. Üç ileti türünü de gördükten sonra cihazınızı durdurabilirsiniz.
Bu iletilerin tümü IoT hub'ınız için varsayılan yerleşik uç noktaya geliyor. Sonraki bölümlerde özel bir uç nokta oluşturacak ve bu iletilerin bazılarını ileti özelliklerine göre depolama alanına yönlendireceğiz. IoT Gezgini'nde bu iletilerin görüntülenmemesinin sebebi, iletilerin yalnızca IoT hub'ında başka hiçbir yolla eşleşmediklerinde yerleşik uç noktaya gitmesidir.
İleti yönlendirmeyi ayarlama
simülasyon cihazı tarafından iletiye eklenen özelliklere göre iletileri farklı kaynaklara yönlendireceksiniz. Özel yönlendirilmeyen iletiler varsayılan uç noktaya (iletiler/olaylar) gönderilir.
Bu öğreticinin örnek uygulaması, IoT hub'ına gönderdiği her iletiye bir düzey özelliği atar. Her iletiye rastgele bir normal, depolama veya kritik düzeyi atanır.
İlk adım, verilerin yönlendirildiği uç noktayı ayarlamaktır. İkinci adım, bu uç noktayı kullanan ileti yolunu ayarlamaktır. Yönlendirmeyi ayarladıktan sonra portalda uç noktaları ve ileti yollarını görüntüleyebilirsiniz.
Depolama hesabı oluşturma
Bu hesabın içinde bir Azure Depolama hesabı ve bu hesaba yönlendirilen cihaz iletilerini barındıran bir kapsayıcı oluşturun.
Azure portalında Depolama hesaplarını arayın.
Oluştur'u belirleyin.
Depolama hesabınız için aşağıdaki değerleri sağlayın:
Parameter Value Abonelik IoT hub'ınızı içeren aboneliği seçin. Kaynak Grubu IoT hub'ınızı içeren kaynak grubunu seçin. Depolama hesabı adı Depolama hesabınız için genel olarak benzersiz bir ad sağlayın. Performance Varsayılan Standart değeri kabul edin.
Gözden Geçir + oluştur'u seçerek diğer tüm varsayılan değerleri kabul edebilirsiniz.
Doğrulama tamamlandıktan sonra Oluştur'u seçin.
Dağıtım tamamlandıktan sonra, Kaynağa git’i seçin.
Depolama hesabı menüsünde Veri depolama bölümünde Kapsayıcılar'ı seçin.
Yeni bir kapsayıcı oluşturmak için + Kapsayıcı'ya tıklayın.
Kapsayıcınız için bir ad girin ve Oluştur'u seçin.
Depolama hesabına yönlendirme
Şimdi depolama hesabı için yönlendirmeyi ayarlayın. Bu bölümde, oluşturduğunuz depolama hesabına işaret eden yeni bir uç nokta tanımlarsınız. Ardından, level özelliği depolama olarak ayarlanmış iletiler için bir filtreleme yolu oluşturur ve bu iletileri depolama uç noktasına yönlendirirsiniz.
Note
Veriler varsayılan olan Apache Avro biçiminde veya JSON biçiminde blob depolamaya yazılabilir.
Kodlama biçimi yalnızca blob depolama uç noktası yapılandırıldığında ayarlanabilir. Daha önce yapılandırılmış bir uç nokta için biçim değiştirilemez. JSON kodlamasını kullanırken, ileti sistemi özelliklerinde contentType değerini JSON ve contentEncoding değerini UTF-8 olarak ayarlamanız gerekir.
Blob depolama uç noktasını kullanma hakkında daha ayrıntılı bilgi için bkz. Yönlendirme uç noktası olarak Azure Depolama.
Önemli
Bu makale, paylaşılan erişim imzası kullanarak hizmete bağlanma adımlarını içerir. Bu kimlik doğrulama yöntemi test ve değerlendirme için uygundur, ancak Microsoft Entra ID veya yönetilen kimliklerle bir hizmette kimlik doğrulaması yapmak daha güvenli bir yaklaşımdır. Daha fazla bilgi edinmek için bkz . IoT çözümleri > için en iyi güvenlik uygulamaları Bulut güvenliği.
Hub ayarları'nın altındaki kaynak menüsünde İleti yönlendirme'yi ve ardından Ekle'yi seçin.
Uç Nokta sekmesinde, aşağıdaki bilgileri sağlayarak bir Depolama uç noktası oluşturun:
Parameter Value Uç nokta türü Depolama’yı seçin. Uç nokta adı Bu uç nokta için benzersiz bir ad sağlayın. Azure Depolama kapsayıcısı Bir kapsayıcı seçin. Önceki bölümde oluşturduğunuz depolama hesabını ve kapsayıcıyı seçmek için istemleri izleyin. Kodlama JSON'ı seçin. Bu alan griyse depolama hesabı bölgeniz JSON'yi desteklemez. Bu durumda varsayılan AVRO ile devam edin.
Parametrelerin geri kalanı için varsayılan değerleri kabul edin ve Oluştur + İleri'yi seçin.
Yol sekmesinde, oluşturduğunuz Depolama uç noktasına işaret eden bir yol oluşturmak için aşağıdaki bilgileri sağlayın:
Parameter Value İsim Yolunuz için bir ad oluşturun. Veri kaynağı Açılan listeden Cihaz Telemetri İletileri'nin seçili olduğunu doğrulayın. Yolu etkinleştir Bu alanın işaretli olduğunu doğrulayın. Yönlendirme sorgusu Sorgu dizesi olarak girin level="storage".
Oluştur + zenginleştirmeleri atla'yı seçin.
Yönlendirilen iletileri görüntüleme
IoT Hub'da yol oluşturulduktan ve etkinleştirildikten sonra, sorgu koşuluna uyan iletileri depolama uç noktasına yönlendirmeye hemen başlar.
IoT Explorer ile yerleşik uç noktayı izleme
Geliştirme makinenizde IoT Explorer oturumuna dönün. IoT Gezgini'nin IoT hub'ınız için yerleşik uç noktayı izlediğini unutmayın. Bu, artık yalnızca, oluşturduğumuz özel rotayla yönlendirilmemiş iletileri görmeniz gerektiği anlamına gelir.
Kodu çalıştırarak örneği yeniden başlatın. Gelen iletileri birkaç an izleyin ve yalnızca levelnormal veya critical olarak ayarlanan iletileri görmeniz gerekir.
Depolama kapsayıcısında iletileri görüntüleme
İletilerin depolama kapsayıcısında geldiğini doğrulayın.
Azure portalda depolama hesabınıza gidin.
Menünün Veri depolama bölümünden Kapsayıcılar'ı seçin.
Bu eğitim için oluşturduğunuz kapsayıcıyı seçin.
IoT hub'ınızın adını içeren bir klasör olmalıdır. .json uzantılı bir dosyaya gelene kadar dosya yapısında derinlemesine ilerleyin.
JSON dosyasını seçin ve ardından İndir'i seçerek JSON dosyasını indirin. Cihazınızdan gelen ve
levelözelliğistorageolarak ayarlanmış iletileri içeren dosyayı onaylayın.Örneği çalıştırmayı durdurun.
Kaynakları temizleme
Bu öğreticide kullandığınız tüm Azure kaynaklarını kaldırmak istiyorsanız kaynak grubunu silin. Bu eylem grubun içerdiği tüm kaynakları siler. Kaynak grubunun tamamını silmek istemiyorsanız, tek tek kaynakları bulmak ve silmek için Azure portalını kullanın.
Sonraki öğreticiye devam etmek istiyorsanız, burada oluşturduğunuz kaynakları saklayın.
- Azure portalında, bu öğreticinin IoT hub'ını ve depolama hesabını içeren kaynak grubuna gidin.
- Hangilerini temizlemek istediğinizi belirlemek için kaynak grubundaki tüm kaynakları gözden geçirin.
- Tüm kaynağı silmek istiyorsanız Kaynak grubunu sil'i seçin.
- Yalnızca belirli bir kaynağı silmek istiyorsanız, silmek istediklerinizi seçmek için her kaynak adının yanındaki onay kutularını kullanın. Ardından Sil'i seçin.
Sonraki adımlar
Bu öğreticide, bir Azure kaynağı için özel uç nokta oluşturmayı ve ardından bu uç noktaya cihaz iletileri göndermek için bir yol oluşturmayı öğrendiniz. Aşağı akış işlemeyi basitleştirmek için kullanılabilecek ek verilerle iletileri zenginleştirmeyi öğrenmek için sonraki öğreticiye geçin