Azure CLI ile Azure IoT Edge modüllerini dağıtma
Şunlar için geçerlidir: IoT Edge 1.5
Önemli
IoT Edge 1.5 LTS desteklenen sürümdür. IoT Edge 1.4 LTS, 12 Kasım 2024 itibarıyla kullanım ömrü sona erer. Önceki bir sürümdeyseniz bkz. IoT Edge’i güncelleştirme.
İş mantığınızla Azure IoT Edge modülleri oluşturduktan sonra uçta çalışmak üzere bunları cihazlarınıza dağıtmak istersiniz. Verileri toplamak ve işlemek için birlikte çalışan birden çok modüle sahipseniz hepsini tek seferde dağıtabilirsiniz. Bunları bağlayan yönlendirme kurallarını da bildirebilirsiniz.
Azure CLI , IoT Edge gibi Azure kaynaklarını yönetmek için kullanılan açık kaynak platformlar arası bir komut satırı aracıdır. Azure IoT Hub kaynaklarını, cihaz sağlama hizmeti örneklerini ve bağlı hub'ları kullanıma hazır şekilde yönetmenizi sağlar. Yeni IoT uzantısı, Azure CLI'yi cihaz yönetimi ve tam IoT Edge özelliği gibi özelliklerle zenginleştirir.
Bu makalede JSON dağıtım bildirimi oluşturma ve ardından bu dosyayı kullanarak dağıtımı bir IoT Edge cihazına gönderme gösterilmektedir. Paylaşılan etiketlerine göre birden çok cihazı hedefleyen bir dağıtım oluşturma hakkında bilgi için bkz . Büyük ölçekte IoT Edge modüllerini dağıtma ve izleme
Önkoşullar
IoT Edge cihazı
Ayarlanmış bir IoT Edge cihazınız yoksa Azure sanal makinesinde bir cihaz oluşturabilirsiniz. Sanal Linux cihazı oluşturma veya Sanal Windows cihazı oluşturma için hızlı başlangıç makalelerinden birinde yer alan adımları izleyin.
Ortamınızda Azure CLI . Azure CLI sürümünüz en az 2.0.70 veya üzeri olmalıdır. Doğrulamak için
az --version
kullanın. Bu sürüm, az uzantı komutlarını destekler ve Knack komut çerçevesini kullanıma sunar.Azure CLI için IoT uzantısı.
Dağıtım bildirimi yapılandırma
Dağıtım bildirimi, dağıtılacak modülleri, modüller arasında verilerin nasıl aktığını ve modül ikizlerinin istenen özelliklerini açıklayan bir JSON belgesidir. Dağıtım bildirimlerinin nasıl çalıştığı ve nasıl oluşturulacağı hakkında daha fazla bilgi için bkz . IoT Edge modüllerinin nasıl kullanılabileceğini, yapılandırılabileceğini ve yeniden kullanılabileceğini anlama.
Azure CLI kullanarak modülleri dağıtmak için dağıtım bildirimini yerel olarak .json dosyası olarak kaydedin. Yapılandırmayı cihazınıza uygulamak için komutunu çalıştırdığınızda sonraki bölümdeki dosya yolunu kullanırsınız.
Aşağıda örnek olarak tek modül içeren temel bir dağıtım bildirimi verilmiştir:
Not
Bu örnek dağıtım bildirimi, IoT Edge aracısı ve hub'ı için şema sürümü 1.1'i kullanır. Şema sürümü 1.1, IoT Edge sürüm 1.0.10 ile birlikte yayımlandı ve modül başlatma sırası ve yol önceliklendirmesi gibi özellikleri etkinleştirir.
{
"content": {
"modulesContent": {
"$edgeAgent": {
"properties.desired": {
"schemaVersion": "1.1",
"runtime": {
"type": "docker",
"settings": {
"minDockerVersion": "v1.25",
"loggingOptions": "",
"registryCredentials": {}
}
},
"systemModules": {
"edgeAgent": {
"type": "docker",
"settings": {
"image": "mcr.microsoft.com/azureiotedge-agent:1.5",
"createOptions": "{}"
}
},
"edgeHub": {
"type": "docker",
"status": "running",
"restartPolicy": "always",
"settings": {
"image": "mcr.microsoft.com/azureiotedge-hub:1.5",
"createOptions": "{\"HostConfig\":{\"PortBindings\":{\"5671/tcp\":[{\"HostPort\":\"5671\"}],\"8883/tcp\":[{\"HostPort\":\"8883\"}],\"443/tcp\":[{\"HostPort\":\"443\"}]}}}"
}
}
},
"modules": {
"SimulatedTemperatureSensor": {
"version": "1.0",
"type": "docker",
"status": "running",
"restartPolicy": "always",
"settings": {
"image": "mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.5",
"createOptions": "{}"
}
}
}
}
},
"$edgeHub": {
"properties.desired": {
"schemaVersion": "1.1",
"routes": {
"upstream": "FROM /messages/* INTO $upstream"
},
"storeAndForwardConfiguration": {
"timeToLiveSecs": 7200
}
}
},
"SimulatedTemperatureSensor": {
"properties.desired": {
"SendData": true,
"SendInterval": 5
}
}
}
}
}
Cihazınıza dağıtma
Modül bilgileriyle yapılandırdığınız dağıtım bildirimini uygulayarak modülleri cihazınıza dağıtırsınız.
Dizinleri dağıtım bildiriminizi kaydettiğiniz klasöre değiştirin. Visual Studio Code IoT Edge şablonlarından birini kullandıysanız, deployment.json
dosyayı değil çözüm dizininizin yapılandırma klasöründe kullanın deployment.template.json
.
Yapılandırmayı bir IoT Edge cihazına uygulamak için aşağıdaki komutu kullanın:
az iot edge set-modules --device-id [device id] --hub-name [hub name] --content [file path]
Cihaz kimliği parametresi büyük/küçük harfe duyarlıdır. İçerik parametresi, kaydettiğiniz dağıtım bildirimi dosyasını gösterir.
Cihazınızda modülleri görüntüleme
Modülleri cihazınıza dağıttıktan sonra, aşağıdaki komutla bunların tümünü görüntüleyebilirsiniz:
IoT Edge cihazınızda modülleri görüntüleme:
az iot hub module-identity list --device-id [device id] --hub-name [hub name]
Cihaz kimliği parametresi büyük/küçük harfe duyarlıdır.
Sonraki adımlar
IoT Edge modüllerini büyük ölçekte dağıtmayı ve izlemeyi öğrenin