IoT Hub için Cihaz Güncelleştirmesi'ne aktaracak bir güncelleştirme hazırlama

Yeni bir güncelleştirme almayı ve güncelleştirmeyi IoT Hub için Cihaz Güncelleştirmesi'ne aktarmaya hazırlamayı öğrenin.

Önkoşullar

  • IoT Hub için Cihaz Güncelleştirmesi'nin etkinleştirildiği bir IoT Hub'a erişim.

  • Azure CLI ortamı:

    1. az login komutunu kullanarak Azure CLI'da oturum açın .
    2. Yüklü sürümü ve bağımlı kitaplıkları bulmak için az version komutunu çalıştırın. En son sürüme yükseltmek için az upgrade komutunu çalıştırın.
    3. İstendiğinde, azure CLI uzantılarını ilk kullanımda yükleyin. Bu makaledeki komutlar azure-iot uzantısını kullanır. Uzantının en son sürümünü kullandığınızdan emin olmak için komutunu çalıştırın az extension update --name azure-iot .

İpucu

Bu makaledeki Azure CLI komutları, komut bağımsız değişkenlerinin daha kolay okunması 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ıyorsanız, her ters eğik çizgiyi ''' ters işaretiyle değiştirin veya tamamen kaldırın.

Cihazlarınız için güncelleştirme alma

Cihaz Güncelleştirmesi'ni ayarladığınıza ve cihazlarınızı sağladığınıza göre, bu cihazlara dağıtabileceğiniz güncelleştirme dosyalarına ihtiyacınız vardır.

  • Orijinal Donanım Üreticisi'nden (OEM) veya çözüm tümleştiricisinden cihaz satın aldıysanız, bu kuruluş büyük olasılıkla güncelleştirmeleri oluşturmanıza gerek kalmadan sizin için güncelleştirme dosyaları 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 kullandığınız cihazlar için yazılım oluşturursa, aynı grup bu yazılım için güncelleştirmeleri oluşturur.

IoT Hub için Cihaz Güncelleştirmesi kullanılarak dağıtılacak bir güncelleştirme oluştururken senaryonuza bağlı olarak görüntü tabanlı veya paket tabanlı yaklaşımla başlayın.

Temel bir Cihaz Güncelleştirmesi içeri aktarma bildirimi oluşturma

Güncelleştirme dosyalarınızı aldıktan sonra, güncelleştirmeyi açıklamak için bir içeri aktarma bildirimi oluşturun. Henüz yapmadıysanız temel içeri aktarma kavramları hakkında bilgi sahibi olun. Metin düzenleyicisi kullanarak el ile içeri aktarma bildirimi JSON yazmak mümkün olsa da, Azure Komut Satırı Arabirimi (CLI) işlemi büyük ölçüde basitleştirir ve aşağıdaki örneklerde kullanılır.

İpucu

Henüz yapmadıysanız görüntü tabanlı, paket tabanlı veya proxy güncelleştirme öğreticilerini deneyin. Ayrıca, bu öğreticilerden örnek içeri aktarma bildirim dosyalarını başvuru için görüntüleyebilirsiniz.

az iot du init v5 komutu aşağıdaki bağımsız değişkenleri alır:

  • --update-provider, --update-nameve --update-version: Bu üç parametre, her güncelleştirme için benzersiz bir tanımlayıcı olan updateId nesnesini tanımlar.
  • --compat: Uyumluluk nesnesi, bu güncelleştirmenin uyumlu olduğu bir cihazın özelliklerini açıklayan bir dizi ad-değer çiftidir.
    • Aynı uyumluluk özellikleri kümesi birden fazla sağlayıcı ve ad bileşimiyle kullanılamaz.
  • --step: Cihazdaki güncelleştirme işleyicisi (örneğin, microsoft/script:1, microsoft/swupdate:1veya microsoft/apt:1) ve bu güncelleştirmenin ilişkili özellikleri .
  • --file: Güncelleştirme dosyanızın veya dosyalarınızın yolları.

Bu parametreler hakkında daha fazla bilgi için bkz . Şema ve API bilgilerini içeri aktarma.

az iot du update init v5 \
    --update-provider <replace with your Provider> \
    --update-name <replace with your update Name> \
    --update-version <replace with your update Version> \
    --compat <replace with the property name>=<replace with the value your device will report> <replace with the property name>=<replace with the value your device will report> \
    --step handler=<replace with your chosen handler> properties=<replace with any handler properties (JSON-formatted)> \
    --file path=<replace with path(s) to your update file(s), including the full file name> 

Örneğin:

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

İşleyici özellikleri için JSON'unuzda belirli karakterlerden kurtulmanız gerekebilir. Örneğin, Azure CLI'yi PowerShell'de çalıştırıyorsanız çift tırnak işaretinden kurtulmak için kullanın '\' .

init 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 bkz . az iot du init v5.

İçeri aktarma bildiriminizi oluşturup JSON dosyası olarak kaydettikten sonra güncelleştirmenizi içeri aktarmaya hazır olursunuz. İçeri aktarma için Azure portalı kullanıcı arabirimini kullanmayı planlıyorsanız, içeri aktarma bildiriminizi şu biçimde adlandırdığınızdan emin olun: "<manifestname>.importmanifest.json".

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 hem üst içeri aktarma bildirimi hem de bazı alt içeri aktarma bildirimleri oluşturmak için önceki bölümdeki azure CLI yaklaşımını kullanabilirsiniz. Örnek parametre değerlerini kendi parametre değerlerinizle değiştirdikten sonra aşağıdaki Azure CLI komutlarını çalıştırın. Hangi değerleri kullanabileceğiniz 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 vardır: bir üst güncelleştirme ve iki alt güncelleştirme:

az iot du update init v5 \
    --update-provider <replace with child_1 update Provider> \
    --update-name <replace with child_1 update Name> \
    --update-version <replace with child_1 update Version> \
    --compat manufacturer=<replace with the value your device will report> model=<replace with the value your device will report> \
    --step handler=<replace with your chosen handler> \
    --file path=<replace with path(s) to your update file(s), including the full file name> \
az iot du update init v5 \
    --update-provider <replace with child_2 update Provider> \
    --update-name <replace with child_2 update Name> \
    --update-version <replace with child_2 update Version> \
    --compat manufacturer=<replace with the value your device will report> model=<replace with the value your device will report> \
    --step handler=<replace with your chosen handler> \
    --file path=<replace with path(s) to your update file(s), including the full file name> \
az iot du update init v5 \
    --update-provider <replace with the parent update Provider> \
    --update-name <replace with the parent update Name> \
    --update-version <replace with the parent update Version> \
    --compat manufacturer=<replace with the value your device will report> model=<replace with the value your device will report> \
    --step handler=<replace with your chosen handler> properties=<replace with any desired handler properties (JSON-formatted)> \
    --file path=<replace with path(s) to your update file(s), including the full file name> \
    --step updateId.provider=<replace with child_1 update provider> updateId.name=<replace with child_1 update name> updateId.version=<replace with child_1 update version> \
    --step updateId.provider=<replace with child_2 update provider> updateId.name=<replace with child_2 update name> updateId.version=<replace with child_2 update version> \

Sonraki adımlar