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

Bu makalede, Azure IoT Hub yollarını ve uç noktalarını Azure CLI kullanarak yönetme adımları gösterilmektedir. Azure CLI kullanarak Azure Event Hubs, Azure Service Bus kuyrukları ve konuları, Azure Depolama ve Cosmos DB için yollar ve uç noktalar oluşturmayı öğrenin.

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 bir yol ayarlama ve ardından simülasyon cihazı üzerinde test etme 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 CLI
  • IoT hub'ı
  • Azure'da bir uç nokta hizmeti

Azure CLI

Bu makalede, IoT Hub ve diğer Azure hizmetleriyle çalışmak için Azure CLI kullanılmaktadır. Azure CLI'ya nasıl erişebileceğinizi seçebilirsiniz:

IoT Hub

Azure aboneliğinizde bir IoT hub'ına ihtiyacınız vardır. Henüz bir hub'ına sahip değilseniz Azure CLI kullanarak IoT hub'ı oluşturma adımlarını izleyebilirsiniz.

Uç nokta hizmeti

Rotaya uç nokta olarak kullanmak için en az bir Azure hizmetine daha ihtiyacınız vardır. Uç nokta, cihaz iletilerini ve olay günlüklerini alır.

Yönlendirilmiş cihaz ve olay verilerini almak için uç nokta olarak hangi Azure hizmetini kullanmak istediğinize karar verin: olay hub'ı, Hizmet kuyruğu veya konusu, depolama hesabı veya Cosmos DB kapsayıcısı. Kullanmayı seçtiğiniz hizmet için uç nokta hizmeti oluşturma adımlarını tamamlayın.

  1. Event Hubs ad alanı ve olay hub'ı oluşturun. Daha fazla bilgi için bkz . Hızlı Başlangıç: Azure CLI kullanarak olay hub'ı oluşturma.

  2. Olay hub'ına veri göndermek için IoT Hub izin vermek için kullanılacak bir yetkilendirme kuralı oluşturun.

    İpucu

    Parametrenin name değeri RootManageSharedAccessKeyYönet, Gönder, Dinle taleplerine (erişim) izin veren varsayılan addır. Talepleri kısıtlamak istiyorsanız parametreye name kendi benzersiz adınızı verin ve bayrağını --rights ve ardından taleplerden birini ekleyin. Örneğin, --name my-name --rights Send.

    az eventhubs eventhub authorization-rule create --resource-group my-resource-group --namespace-name my-routing-namespace --eventhub-name my-event-hubs --name RootManageSharedAccessKey
    

    Daha fazla bilgi için bkz. Azure Event Hubs erişimi yetkilendirme.

Uç nokta oluşturma

Tüm IoT Hub yolları, yönlendirilen cihaz ve olay verilerini alacak bir uç noktaya işaret eder. Birden fazla yol aynı uç noktaya işaret edebilir. şu anda IoT Hub Olay hub'ları, Service Bus kuyrukları veya konuları, Depolama ve Cosmos DB için uç noktaları desteklemektedir. Uç noktayı oluşturmadan önce uç noktanız için kullandığınız hizmetin bir örneği Azure aboneliğinizde bulunmalıdır.

Not

Bu makalede, Azure CLI için azure-iot uzantısının 0.19.0 sürümünde tanıtılan az iot hub message-endpoint komut grubu kullanılmaktadır. Azure-iot uzantısının önceki sürümleri, benzer ve hala desteklenen ancak Cosmos DB uç noktaları oluşturmayı desteklemeyen az iot hub routing-endpoint komut grubunu kullanıyordu.

Azure-iot uzantısının en son sürümüne güncelleştirmek için aşağıdaki komutu kullanın:

az extension update --name azure-iot

Event Hubs uç noktası oluşturmak için önkoşullarda oluşturduğunuz yetkilendirme kuralını kullanın.

  1. Yetkilendirme kuralınızı listelemek için az eventhubs eventhub authorization-rule keys list komutunu kullanın. Yer tutucu parametreleri için aşağıdaki değerleri sağlayın:

    parametre değer
    eventhub_group Olay hub'ının kaynak grubu.
    eventhub_namespace Event Hubs ad alanının adı.
    eventhub_name Olay hub'ının adı.
    rule_name Olay hub'ı için yetkilendirme kuralının adı. Örneği önkoşullara kopyaladıysanız, bu ad şeklindedir RootManageSharedAccessKey.
    az eventhubs eventhub authorization-rule keys list --resource-group {eventhub_group} --namespace-name {eventhub_namespace} --eventhub-name my-event-hubs --name {rule_name}
    
  2. Çıkıştan olay hub'ı bağlantı dizenizi kopyalayın.

  3. Özel uç noktanızı oluşturmak için az iot hub message-endpoint create eventhub komutunu kullanın. Yer tutucu parametreleri için aşağıdaki değerleri sağlayın:

    parametre değer
    iothub_name Bu uç noktanın oluşturulduğu IoT hub'ının adı.
    endpoint_name Yeni uç nokta için benzersiz bir ad.
    eventhub_subscription Olay hub'ının abonelik kimliği. Olay hub'ı IoT hub'ı ile aynı abonelikteyse bu bağımsız değişken dışarıda bırakılabilir.
    eventhub_group Olay hub'ının kaynak grubu. Olay hub'ı IoT hub'ı ile aynı kaynak grubundaysa bu bağımsız değişken dışarıda bırakılabilir.
    eventhub_connection_string Olay hub'ı yetkilendirme kuralından kopyaladığınız bağlantı dizesi.
    az iot hub message-endpoint create eventhub --hub-name {iothub_name} --endpoint-name {endpoint_name}  --connection-string "{eventhub_connection_string}" --endpoint-subscription-id {eventhub_subscription} --endpoint-resource-group {eventhub_group}
    

Uç noktayı silme

IoT hub'ınızdan bir uç noktayı silmek istiyorsanız az iot hub message-endpoint delete komutunu kullanın. Bu komutla tek bir uç noktayı silebilir, tek türdeki tüm uç noktaları silebilir veya hub'dan tüm uç noktaları silebilirsiniz.

Örneğin, aşağıdaki komut Bir IoT hub'ında Depolama kaynaklarına işaret eden tüm uç noktaları siler:

az iot hub message-endpoint delete --hub-name {iothub_name} --endpoint-type storage-container

IoT Hub yolu 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. İsteğe bağlı olarak, iletileri veya olayları uç noktaya gitmeden önce filtrelemek için ileti yollarına sorgu ekleyebilirsiniz .

Not

Bu makalede, Azure CLI için azure-iot uzantısının 0.19.0 sürümünde sunulan az iot hub message-route komut grubu kullanılmaktadır. Azure-iot uzantısının önceki sürümlerinde az iot hub route komut grubu kullanılmıştır. Bu grup benzerdir ve hala desteklenmektedir.

Azure-iot uzantısının en son sürümüne güncelleştirmek için aşağıdaki komutu kullanın:

az extension update --name azure-iot
  1. Bu uç noktayı kullanarak yeni bir IoT Hub yolu oluşturmak için az iot hub message-route create komutunu kullanın. Yer tutucu parametreleri için aşağıdaki değerleri sağlayın:

    parametre değer
    iothub_name Bu yolun oluşturulduğu IoT hub'ının adı.
    route_name Yeni yol için benzersiz bir ad.
    endpoint_name Yolun veri göndereceği uç noktanın adı.
    Data_source Yolun kaynağı. Kabul edilen değerler şunlardır: deviceconnectionstateevents, devicejoblifecycleevents, devicelifecycleevents, devicemessages, digitaltwinchangeevents, invalidveya twinchangeevents.
    az iot hub message-route create --hub-name {iothub_name} --route-name {route_name} --endpoint-name {endpoint_name} --source {data_source}
    
  2. Yeni yolun IoT hub'ınızda olduğunu doğrulamak için az iot hub message-route list komutunu kullanarak IoT hub'ınızdaki tüm yolları görün:

    az iot hub message-route list --hub-name {iothub_name}
    

    Azure CLI'de şu örneğe benzer bir yanıt görmeniz gerekir:

    [
       {
         "condition": "true",
         "endpointNames": [
           "endpoint_name"
         ],
         "isEnabled": true,
         "name": "route_name",
         "source": "DeviceConnectionStateEvents"
       }
    ]
    

IoT Hub yolunu güncelleştirme

Bir yolun bazı özelliklerini oluşturulduktan sonra güncelleştirebilirsiniz. Mevcut bir yolun kaynak, uç nokta, koşul veya etkin durumunu değiştirebilirsiniz.

Yolun ayrıntılarını görüntülemek için az iot hub message-route show komutunu kullanın.

az iot hub message-route show --hub-name {iothub_name} --route-name {route_name}

Bir yolun özelliklerini güncelleştirmek için az iot hub message-route update komutunu kullanın. Örneğin, aşağıdaki komut yolun kaynağını güncelleştirir.

az iot hub message-route update --hub-name {iothub_name} --route-name {route_name} --source devicejoblifecycleevents

IoT Hub yolu silme

IoT hub'ınızdan bir yolu silmek için az iot hub message-route delete komutunu kullanın.

Diğer yollar aynı uç noktaya işaret ettiğinden, yol silindiğinde uç nokta silinmez. Bir uç noktayı silmek istiyorsanız, bunu bir yolu silmekten ayrı olarak yapabilirsiniz.

az iot hub message-route delete --hub-name {iothub_name} --route-name {route_name}

Geri dönüş yolunu yönetme

Geri dönüş yolu, var olan yollardan herhangi birinde sorgu koşullarını karşılamayen tüm iletileri kaynaktan devicemessages yerleşik uç noktaya gönderir.

IoT hub'ınızdaki geri dönüş yolunun durumunu görmek için az iot hub message-route fallback show komutunu kullanın.

az iot hub message-route fallback show --hub-name {iothub_name}

IoT hub'ınızdaki geri dönüş yolunu etkinleştirmek veya devre dışı bırakmak için az iot hub message-route fallback set komutunu kullanın.

az iot hub message-route fallback set --hub-name {iothub_name} --enabled {true_false}

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.