Azure Resource Manager kullanarak yolları ve uç noktaları oluşturma ve silme

Bu makalede Azure IoT Hub şablonunuzu dışarı aktarma, IoT hub'ınıza yol ekleme ve ardından Azure CLI veya Azure PowerShell kullanarak şablonu IoT hub'ınıza yeniden dağıtma adımları gösterilmektedir. azure Resource Manager şablonu kullanarak Azure Event Hubs, Azure Service Bus kuyrukları ve konuları ve Azure Depolama için yollar ve uç noktalar oluşturun.

Azure Resource Manager şablonları, bir JSON dosyası kullanarak kaynak tanımlamak istediğinizde kullanışlıdır. Her Azure kaynağının, bu kaynakta kullanılan bileşenleri tanımlayan bir şablonu vardır. Tüm Azure kaynak şablonlarını dışarı aktarabilirsiniz.

Önemli

Bir kaynağı dağıtmak için Resource Manager şablonu kullandığınızda, şablon dağıttığınız türdeki mevcut kaynakların yerini alır.

Yeni bir IoT hub'ı oluşturduğunuzda, mevcut dağıtılan kaynağın üzerine yazmak sorun yaratmaz. Yeni bir IoT hub'ı oluşturmak için, zaten dağıtılmış olan bir IoT hub'ından var olan bir şablonu dışarı aktarmak yerine gerekli özelliklere sahip temel bir şablon kullanabilirsiniz.

Ancak, mevcut bir IoT hub Resource Manager şablonuna yol eklerseniz, güncelleştirilmiş şablonu dağıttıktan sonra tüm mevcut kaynakların ve özelliklerin bağlı kalmasını sağlamak için IoT hub'ınızdan dışarı aktardığınız bir şablonu kullanın. Zaten dağıtılan kaynaklar değiştirilmez. Örneğin, daha önce dağıttığınız dışarı aktarılan bir Resource Manager şablonu, IoT hub'ı depolamaya bağladıysanız ioT hub'ınız için depolama bilgileri içerebilir.

yönlendirmenin IoT Hub nasıl çalıştığı hakkında daha fazla bilgi edinmek için bkz. Cihazdan buluta iletileri farklı uç noktalara göndermek için IoT Hub ileti yönlendirmeyi kullanma. Depolama alanına ileti gönderen ve ardından simülasyon cihazı üzerinde test eden bir yol ayarlama adımlarını görmek için bkz. Öğretici: IoT Hub ileti yönlendirmeyi kullanarak cihaz verilerini Azure Depolama'ya gönderme.

Önkoşullar

Makalede açıklanan yordamlar aşağıdaki kaynakları kullanır:

  • Azure Resource Manager şablonu
  • IoT hub'ı
  • Azure'da bir uç nokta hizmeti

Azure Resource Manager şablonu

Bu makalede IoT Hub ve diğer Azure hizmetleriyle çalışmak için Azure portal bir Azure Resource Manager şablonu kullanılmaktadır. Resource Manager şablonları kullanma hakkında daha fazla bilgi edinmek için bkz. Azure Resource Manager şablonları nedir?

IoT hub'ı

IoT hub yolu oluşturmak için Azure IoT Hub kullanarak oluşturduğunuz bir IoT hub'ına ihtiyacınız vardır. Cihaz iletileri ve olay günlükleri IoT hub'ınızdan kaynaklanır.

IoT hub rotanızı oluştururken kullanılacak aşağıdaki hub kaynağına sahip olduğunuzdan emin olun:

Uç nokta hizmeti

IoT hub yolu oluşturmak için, yola uç nokta olarak kullanmak üzere en az bir Azure hizmetine daha ihtiyacınız vardır. Uç nokta, cihaz iletilerini ve olay günlüklerini alır. IoT hub yolunuzla bağlantı kurmak için uç nokta için hangi Azure hizmetini kullanacağınızı seçebilirsiniz: Event Hubs, Service Bus kuyrukları veya konuları veya Azure Depolama.

IoT hub yolunuz için bir uç nokta oluştururken aşağıdaki kaynaklardan birine sahip olduğunuzdan emin olun:

Yönlendirme oluşturma

IoT Hub'da, ileti göndermek veya olayları yakalamak için bir yol oluşturabilirsiniz. Her yolun bir veri kaynağı ve bir uç noktası vardır. Veri kaynağı, iletilerin veya olay günlüklerinin kaynaklandığı yerdir. Uç nokta, iletilerin veya olay günlüklerinin sona erdiği yerdir. IoT hub'ınızda yeni bir yol oluşturduğunuzda veri kaynağı ve uç nokta için konumları seçersiniz. Ardından, iletileri veya olayları uç noktaya gitmeden önce filtrelemek için yönlendirme sorgularını kullanırsınız.

IoT hub yolunuz için uç nokta olarak bir olay hub'ı, Service Bus kuyruğu veya konusu ya da Azure depolama hesabı kullanabilirsiniz. Uç noktanızı oluşturmak için kullandığınız hizmetin önce Azure hesabınızda mevcut olması gerekir.

ioT hub'ınızdan Resource Manager şablonunu dışarı aktarma

İlk olarak, IoT hub'ınızdan bir Resource Manager şablonu dışarı aktarın ve ardından bu şablona bir yol ekleyin.

  1. Azure portal IoT hub'ınıza gidin. Otomasyon altındaki kaynak menüsünde Şablonu dışarı aktar'ı seçin.

    IoT Hub kaynağının menüsündeki Şablonu dışarı aktar seçeneğinin konumunu gösteren ekran görüntüsü.

  2. Şablonu dışarı aktar'ınŞablon sekmesinde şu adımları tamamlayın:

    1. IoT hub'ınız için oluşturulan JSON dosyasını görüntüleyin.

    2. Parametreleri ekle onay kutusunu temizleyin.

    3. JSON dosyasının yerel bir kopyasını indirmek için İndir'i seçin.

    Şablonu dışarı aktar bölmesindeki İndir düğmesinin konumunu gösteren ekran görüntüsü.

    Şablon, IoT hub'ınıza özellik veya hizmet eklemek için kullanabileceğiniz çeşitli yer tutuculara sahiptir. Bu makale için yalnızca içinde veya altında routingiç içe yerleştirilmiş özelliklere değer ekleyin.

Resource Manager şablonunuza yeni bir uç nokta ekleme

JSON dosyasında altında iç içe yerleştirilmiş "routing"özelliği bulun"endpoints": []. Uç nokta için seçtiğiniz Azure hizmetine göre yeni bir uç nokta ekleme adımlarını tamamlayın: Event Hubs, Service Bus kuyrukları veya konuları veya Azure Depolama.

Event Hubs kaynağı oluşturmayı (kapsayıcı ile) öğrenmek için bkz. Hızlı Başlangıç: Resource Manager şablonu kullanarak olay hub'ı oluşturma.

Azure portal, Event Hubs kaynağınızdan birincil bağlantı dizenizi alın. Kaynağın Paylaşılan erişim ilkeleri bölmesinde, anahtar ve bağlantı dizesi bilgilerini görmek için ilkelerinizden birini seçin. Olay hub'ınızın adını bağlantı dizesinin sonundaki varlık yoluna ekleyin. Örneğin, kullanın ;EntityPath=my-event-hubs. Bu ad, ad alanı adınız değil olay hub'ınızın adıdır.

için nameEvent Hubs uç noktanız için benzersiz bir değer kullanın. parametresini id boş dize olarak bırakın. Uç noktayı dağıttığınızda Azure hizmeti bir id değer sağlar.

"routing": {
   "endpoints": {
      "serviceBusQueues": [],
      "serviceBusTopics": [],
      "eventHubs": [
            {
               "connectionString": "my Event Hubs connection string + entity path",
               "authenticationType": "keyBased",
               "name": "my-event-hubs-endpoint",
               "id": "",
               "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
               "resourceGroup": "my-resource-group"
            }
      ],
      "storageContainers": [],
      "cosmosDBSqlCollections": []
   },
},

Resource Manager şablonunuza yeni bir yol ekleme

JSON dosyasında, altında "routing"iç içe özelliğini bulun "routes": [] ve seçtiğiniz uç nokta hizmetine göre şu yeni yolu ekleyin: Event Hubs, Service Bus kuyrukları veya konuları veya Azure Depolama.

Varsayılan geri dönüş yolu, 'den DeviceMessagesiletileri toplar. gibi DeviceConnectionStateEventsfarklı bir seçenek belirleyin. Kaynak seçenekleri hakkında daha fazla bilgi için bkz. az iot hub route.

Dikkat

için "routes" mevcut değerleri aşağıdaki kod örneklerinde kullanılan yol değerleriyle değiştirirseniz, dağıttığınızda mevcut yollar kaldırılır. Mevcut yolları korumak için yeni yol nesnesini "routes" listeye ekleyin.

Şablon hakkında daha fazla bilgi için bkz. Azure Resource Manager şablonu kaynak tanımı.

"routes": [
    {
        "name": "MyIotHubRoute",
        "source": "DeviceConnectionStateEvents",
        "condition": "true",
        "endpointNames": [
        "my-event-hubs-endpoint"
        ],
        "isEnabled": true
    }
],

JSON dosyanızı kaydedin.

Resource Manager şablonunu dağıtma

Yeni uç noktanız ve yolunuz Resource Manager şablonuna eklendiğinde, JSON dosyasını IoT hub'ınıza geri dağıtabilirsiniz.

Yerel dağıtım

az deployment group create \
  --name my-iot-hub-template \
  --resource-group my-resource-group \
  --template-file "my\path\to\template.json"

Azure Cloud Shell dağıtımı

Azure Cloud Shell bir web tarayıcısında çalıştığından, dağıtım komutunu çalıştırmadan önce şablon dosyasını karşıya yükleyebilirsiniz. Dosya karşıya yüklendiğinde, parametresinde kullanmak template-file için yalnızca şablon dosya adı (dosya yolunun tamamı yerine) gerekir.

Dosyayı karşıya yüklemek için Azure Cloud Shell düğmesinin konumunu gösteren ekran görüntüsü.

az deployment group create \
  --name my-iot-hub-template \
  --resource-group my-resource-group \
  --template-file "template.json"

Not

Dağıtım başarısız olursa, oluşturduğunuz kaynaklar hakkında bilgi almak için anahtarını kullanın -verbose . -debug Hata ayıklama için daha fazla bilgi edinmek için anahtarını kullanın.

Dağıtımı onaylama

Şablonunuzun Azure'a başarıyla dağıtıldığını onaylamak için Azure portal kaynak grubu kaynağınıza gidin. Şablonu dağıtımlarınızın listesinde görmek içinAyarlar'ın altındaki kaynak menüsünde Dağıtımlar'ı seçin.

test şablonunun vurgulandığı Azure portal bir kaynağın dağıtım listesini gösteren ekran görüntüsü.

yeni rotanızı Azure portal görüntülemek için IoT Hub kaynağınıza gidin. İleti yönlendirme bölmesindeki Yollar sekmesinde rotanızın listelendiğini onaylayın.

Sonraki adımlar

Bu nasıl yapılır makalesinde Event Hubs, Service Bus kuyrukları ve konuları ve Azure Depolama için yol ve uç nokta oluşturmayı öğrendiniz.

İleti yönlendirme hakkında daha fazla bilgi edinmek için bkz. Öğretici: IoT Hub ileti yönlendirmeyi kullanarak cihaz verilerini Azure Depolama'ya gönderme. Öğreticide bir depolama yolu oluşturacak ve IoT hub'ınızdaki bir cihazla test edebilirsiniz.