Aracılığıyla paylaş


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. Yollar ve uç noktalar oluşturmak için bir Azure Resource Manager şablonu kullanın. IoT Hub, uç nokta olarak aşağıdaki Azure hizmetlerini destekler:

  • Depolama kapsayıcıları
  • Event Hubs
  • Service Bus kuyrukları
  • Service Bus konuları
  • Cosmos DB

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

Önemli

Kaynak 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 önemli değildir. Yeni bir IoT hub'ı oluşturmak için, zaten dağıtılmış olan bir IoT hub'ından mevcut bir şablonu dışarı aktarmak yerine gerekli özelliklere sahip temel bir şablon kullanabilirsiniz.

Ancak, mevcut bir IoT hub'ına 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 şablon kullanın. Zaten dağıtılmış olan kaynaklar değiştirilmez. Örneğin, daha önce dağıttığınız dışarı aktarılan bir Resource Manager şablonu, ioT hub'ınız için depolama alanına bağladıysanız depolama bilgilerini içerebilir.

IoT Hub'da yönlendirmenin nasıl çalıştığı hakkında daha fazla bilgi edinmek için bkz . Farklı uç noktalara cihazdan buluta ileti göndermek için IoT Hub ileti yönlendirmeyi kullanma. Depolama alanına ileti gönderen bir yol ayarlama ve ardından sanal bir cihazda test etme adımlarını görmek için bkz . Öğretici: IoT Hub ileti yönlendirmesini kullanarak cihaz verilerini Azure Depolama'ya gönderme.

Önkoşullar

İletileri yönlendirmek istediğiniz uç nokta türüne göre bu makalenin önkoşullarını gözden geçirin.

Azure Resource Manager şablonu

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

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, uç noktaya gitmeden önce iletileri veya olayları 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 konu başlığı 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ızın Resource Manager şablonunu dışarı aktarma

İlk olarak, IoT hub'ınızdan bir Resource Manager şablonunu dışarı aktarın. Şablonu IoT hub'ınızdan dışarı aktararak uç nokta ekleyebilir, kaynakları yönlendirebilir ve mevcut ayarı kaybetmeden yeniden dağıtabilirsiniz.

  1. Azure portalında 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'da, Ş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ü.

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

Şablona uç nokta ekleme

Her yol, iletilerin veya olay günlüklerinin sona erdiği bir uç noktayı gösterir. IoT hub'ınızda yolun başvurabileceği bir uç nokta oluşturun. IoT hub yolunuz için uç nokta olarak olay hub'ı, Service Bus kuyruğu veya konusu, Azure depolama hesabı veya Cosmos DB kapsayıcısı kullanabilirsiniz. Uç noktanızı oluşturmak için kullandığınız hizmetin önce Azure hesabınızda mevcut olması gerekir.

IoT hub'ınızın ileti veya günlük gönderdiği tüm uç nokta kaynakları için erişim izinlerine sahip olması gerekir. Yönetilen kimlikleri ve Microsoft Entra Kimliğini kullanarak veya bağlantı dizesi kullanarak erişim sağlayabilirsiniz. Microsoft, daha güvenli bir seçenek olarak Entra ID ile kimlik doğrulaması yapmanızı önerir.

Resource Manager şablonunuza bir Event Hubs uç noktası ekleyin. Daha fazla bilgi için bkz . Azure Resource Manager şablonu RoutingEventHubProperties.

  1. JSON dosyasında altında iç içe yerleştirilmiş "routing"özelliği bulun"endpoints": [].

  2. "endpoints": [] Satırı aşağıdaki JSON ile değiştirin:

    "endpoints": {
        "serviceBusQueues": [],
        "serviceBusTopics": [],
        "eventHubs": [
            {
                "endpointUri": "",
                "entityPath": "",
                "authenticationType": "identityBased",
                "identity": {
                    "userAssignedIdentity": ""
                },
                "name": "",
                "id": "",
                "subscriptionId": "",
                "resourceGroup": ""
            }
        ],
        "storageContainers": [],
        "cosmosDBSqlContainers": []
    },
    
  3. JSON'yi Event Hubs kaynağınız hakkında aşağıdaki bilgilerle güncelleştirin:

    Özellik Değer
    endpointUri (Kimlik doğrulama türü ; identityBased aksi takdirde silin.) Event Hubs ad alanınızın biçimindeki ana bilgisayar adı sb://<eventhubs_namespace_name>.servicebus.windows.net
    entityPath (Kimlik doğrulama türü ; identityBased aksi takdirde silin.) Olay hub'ınızın adı.
    authenticationType identityBased veya keyBased. Microsoft, daha güvenli bir seçenek olarak kimlik tabanlı kimlik doğrulaması önerir.
    identity (Kimlik doğrulama türü identityBased.) IoT Hub'ınız sistem tarafından atanan yönetilen kimlik etkinleştirildiyse, kullanıcı tarafından atanan yönetilen kimliği veya sistem tarafından atanan yönetilen kimliği kullanabilirsiniz.

    Kullanıcı tarafından atananlar için: Olay hub'ınıza erişim izinlerine sahip yönetilen kimliğin dış kimliği biçimindedir /subscriptions/<subscription_id>/resourceGroups/<resource_group_name>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<identity_name>.

    Sistem tarafından atananlar için: Kimlik parametresini boş bir liste olarak bırakın. Örneğin "identity": {},
    connectionString (Kimlik doğrulama türü keyBased.) Olay hub'ınızın paylaşılan erişim ilkelerinden <connection_string>;EntityPath=<event_hub_name>. birinin birincil bağlantı dizesi Azure portalından bağlantı dizesi değerini alabilir ve ardından varlık yolunu ekleyebilirsiniz.
    Adı Uç noktanızı adlandırmak için benzersiz bir değer sağlayın.
    id Boş dize olarak bırakın. Uç noktayı oluşturduğunuzda Azure hizmeti bir değer sağlar.
    subscriptionId Olay hub'ınızı içeren aboneliğin kimliği.
    resourceGroup Olay hub'ınızı içeren kaynak grubunun adı.

    İpucu

    Gizli dizi yönetimi için bir parametre dosyası oluşturabilir veya Dağıtım sırasında güvenli parametre değerlerini geçirmek için Azure Key Vault'u kullanabilirsiniz.

Şablona yol ekleme

Resource Manager şablonunuza bir yol tanımı ekleyin. Daha fazla bilgi için bkz . Azure Resource Manager şablonu RouteProperties.

  1. JSON dosyasında, altında "routing"iç içe yerleştirilmiş özelliğini bulun "routes": [] ve yeni bir yol ekleyin.

    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.

    "routes": [
        {
            "name": "",
            "source": "DeviceConnectionStateEvents",
            "condition": "true",
            "endpointNames": [
                ""
            ],
            "isEnabled": true
        }
    ],
    
  2. Cosmos DB kaynağınız hakkında aşağıdaki bilgilerle JSON'yi güncelleştirin:

    Özellik Değer
    Adı Rotanızı adlandırmak için benzersiz bir değer sağlayın.
    kaynak Uç noktaya yönlendirecek iletiyi veya olay günlükleri kaynağını seçin. Kaynak seçeneklerinin listesi için bkz . az iot hub route.
    koşul Kaynak verileri filtrelemek için bir sorgu. Koşul gerekmiyorsa, örneğin true. Daha fazla bilgi için bkz . IoT Hub ileti yönlendirme sorgusu söz dizimi.
    endpointNames Bu verilerin yönlendirileceği mevcut uç noktanın adı. Şu anda yalnızca bir uç noktaya izin verilir.
    isEnabled true Yolu etkinleştirmek veya false yolu devre dışı bırakmak için olarak ayarlayın.
  3. JSON dosyanızı kaydedin.

Resource Manager şablonunu dağıtma

Resource Manager şablonuna yeni uç noktanız ve yolunuz eklendikten sonra 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ına (dosya yolunun tamamı yerine) ihtiyacınız vardır.

Azure Cloud Shell'de dosyanın karşıya yüklendiği düğmenin 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 hakkında 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ında kaynak grubu kaynağınıza gidin. Şablonu dağıtımlarınızın listesinde görmek için Ayarlar'ın altındaki kaynak menüsünde Dağıtımlar'ı seçin.

Azure portalında bir kaynak için dağıtımların listesini gösteren ve bir test şablonunun vurgulandığı ekran görüntüsü.

Azure portalında yeni yolunuzu görüntülemek için IoT Hub kaynağınıza gidin. İleti yönlendirme bölmesindeki Yollar sekmesinde, yolunuzun 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.