Cihaz Güncelleştirmesi'ne aktarmak için bir güncelleştirme hazırlama
Bu makalede, içeri aktarma bildirimi oluşturarak yeni bir güncelleştirmenin nasıl alınıp IoT Hub için Azure Cihaz Güncelleştirmesi'ne içeri aktarma için nasıl hazırlandığı açıklanır.
Önkoşullar
IoT hub'ı ile yapılandırılmış bir Cihaz Güncelleştirme hesabı ve örneği.
IoT hub'ı içinde Cihaz Güncelleştirmesi için sağlanan bir IoT cihazı veya simülatörü.
Azure CLI komutlarını çalıştırmak için Azure Cloud Shell'deki Bash ortamı. Cloud Shell'i başlatmak için Cloud Shell'i başlat'ı seçin veya Azure portalının üst araç çubuğundaKi Cloud Shell simgesini seçin.
İsterseniz Azure CLI komutlarını yerel olarak çalıştırabilirsiniz:
- Azure CLI’yı yükleyin. Yüklü Azure CLI sürümünü ve bağımlı kitaplıkları görmek için az version komutunu çalıştırın ve en son sürümü yüklemek için az upgrade komutunu çalıştırın.
- az login komutunu çalıştırarak Azure'da oturum açın.
- İlk kullanımda istendiğinde uzantıyı
azure-iot
yükleyin. Uzantının en son sürümünü kullandığınızdan emin olmak için komutunu çalıştırınaz extension update --name azure-iot
.
İpucu
Bu makaledeki Azure CLI komutları, komut bağımsız değişkenlerinin daha kolay okunabilmesi için satır devamı için ters eğik çizgi \ karakterini kullanır. Bu söz dizimi Bash ortamlarında çalışır. Bu komutları PowerShell'de çalıştırırsanız, her ters eğik çizgiyi bir ters eğik çizgi ile değiştirin veya tamamen kaldırın.
Cihazınız için güncelleştirme dosyalarını alma
Cihaz Güncelleştirmesi'ni kullanarak cihazınıza dağıtılacak güncelleştirme dosyasını veya dosyalarını alın. Cihazları orijinal bir donanım üreticisinden (OEM) veya çözüm tümleştiricisinden satın aldıysanız, bu kuruluş büyük olasılıkla güncelleştirme dosyalarını oluşturmanıza gerek kalmadan güncelleştirmeler sağlar. Güncelleştirmeleri nasıl kullanılabilir hale getirdiklerini öğrenmek için OEM veya çözüm tümleştiricisine başvurun. Kuruluşunuz cihazlarınız için yazılım oluşturursa, bu yazılım için güncelleştirmeleri de oluşturur.
Güncelleştirmeyi oluşturmak için senaryonuza bağlı olarak görüntü tabanlı veya paket tabanlı güncelleştirme türünü seçin.
İpucu
Görüntü tabanlı, paket tabanlı veya proxy güncelleştirme öğreticilerini deneyebilir veya bu öğreticilerdeki örnek içeri aktarma bildirim dosyalarını başvuru için görüntüleyebilirsiniz.
Temel bir Cihaz Güncelleştirmesi içeri aktarma bildirimi oluşturma
Güncelleştirme dosyalarınızı edindikten ve temel Cihaz Güncelleştirmesi içeri aktarma kavramları hakkında bilgi sahibi olduktan sonra, güncelleştirmeyi açıklamak için bir içeri aktarma bildirimi oluşturun. Metin düzenleyicisi kullanarak JSON içeri aktarma bildirimini el ile yazabilirsiniz ancak Azure CLI az iot du init v5 komutu işlemi basitleştirir. İçeri aktarma bildirimi şeması hakkında daha fazla bilgi için bkz . Cihaz Güncelleştirmesi içeri aktarma şeması ve API bilgileri.
komutu az iot du init v5
aşağıdaki bağımsız değişkenleri alır. Belirtilmezse' den --step
türetilen dışında --file
tümü gereklidir. ile --file
arasında --step
konumsal duyarlılık vardır.
-
--update-provider
,--update-name
ve--update-version
parametreleri, her güncelleştirme için benzersiz bir tanımlayıcı olan nesneyi tanımlarupdateId
. -
--compat
Uyumluluk nesnesi, bu güncelleştirmenin uyumlu olduğu bir cihazın özelliklerini açıklayan bir dizi ad-değer çiftidir. Belirli bir uyumluluk özellikleri kümesini yalnızca bir sağlayıcı ve ad bileşimiyle kullanabilirsiniz. -
--step
parametresi, cihazdaki , veyamicrosoft/apt:1
gibimicrosoft/script:1
microsoft/swupdate:1
güncelleştirmeyihandler
ve bu güncelleştirmeyle ilişkiliproperties
güncelleştirmeyi belirtir. Birden çok kez kullanabilirsiniz--step
. -
--file
parametresi, güncelleştirme dosyalarınızın öğesinipath
belirtir. Bir veya daha fazla kez kullanabilirsiniz--file
.
az iot du update init v5 \
--update-provider <provider> \
--update-name <update name> \
--update-version <update version> \
--compat <property1>=<value> <property2>=<value> \
--step handler=<handler> properties=<JSON-formatted handler properties> \
--file path=<paths and full file names of your update files>
Aşağıdaki az iot du update init v5
komut örnek değerleri gösterir:
az iot du update init v5 \
--update-provider Microsoft \
--update-name AptUpdate \
--update-version 1.0.0 \
--compat manufacturer=Contoso model=Vacuum \
--step handler=microsoft/script:1 properties='{"installedCriteria": "1.0"}' \
--file path=/my/apt/manifest/file
İpucu
İşleyici özellikleri için JSON'unuzda belirli karakterlerden kurtulmanız gerekebilir. Örneğin, Azure CLI'yi PowerShell'de çalıştırırsanız çift tırnak işaretinden kurtulmak için kullanın '\'
.
az iot du init v5
komutu, farklı güncelleştirme dosyaları arasındaki ilişkiyi tanımlamanızı sağlayan ilgili dosyalar özelliği de dahil olmak üzere gelişmiş senaryoları destekler. Daha fazla örnek ve isteğe bağlı parametrelerin tam listesi için az iot du init v5 komut başvurusuna bakın.
İçeri aktarma bildiriminizi oluşturup JSON dosyası olarak kaydettikten sonra güncelleştirmeyi içeri aktarabilirsiniz. İçeri aktarma için Azure portalını kullanmayı planlıyorsanız, içeri aktarma bildiriminizi manifestname>.importmanifest.json biçiminde <adlandırdığınızdan emin olun.
Proxy güncelleştirmesi için gelişmiş Cihaz Güncelleştirmesi içeri aktarma bildirimi oluşturma
Güncelleştirmeniz ara sunucu güncelleştirmesi gibi daha karmaşıksa birden çok içeri aktarma bildirimi oluşturmanız gerekebilir. Karmaşık güncelleştirmeler için Azure CLI komutunu kullanarak az iot du update init v5
bir üst içeri aktarma bildirimi ve bir dizi alt içeri aktarma bildirimi oluşturabilirsiniz.
Aşağıdaki Azure CLI komutlarında yer tutucu değerlerini değiştirin. Kullanabileceğiniz değerler hakkında ayrıntılı bilgi için bkz . Şema ve API bilgilerini içeri aktarma. Aşağıdaki örnekte cihaza dağıtılacak üç güncelleştirme, bir üst güncelleştirme ve iki alt güncelleştirme gösterilmektedir.
az iot du update init v5 \
--update-provider <child_1 update provider> \
--update-name <child_1 update name> \
--update-version <child_1 update version> \
--compat manufacturer=<device manufacturer> model=<device model> \
--step handler=<handler> \
--file path=<paths and full file names of your update files>
az iot du update init v5 \
--update-provider <child_2 update provider> \
--update-name <child_2 update name> \
--update-version <child_2 update version> \
--compat manufacturer=<device manufacturer> model=<device model> \
--step handler=<handler> \
--file path=<paths and full file names of your update files>
az iot du update init v5 \
--update-provider <parent update provider> \
--update-name <parent update name> \
--update-version <parent update version> \
--compat manufacturer=<device manufacturer> model=<device model> \
--step handler=<handler> properties=<any handler properties, JSON-formatted> \
--file path=<paths and full file names of your update files> \
--step updateId.provider=<child_1 update provider> updateId.name=<child_1 update name> updateId.version=<child_1 update version> \
--step updateId.provider=<child_2 update provider> updateId.name=<child_2 update name> updateId.version=<child_2 update version>