Aracılığıyla paylaş


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

İ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 --filetümü gereklidir. ile --filearasında --step konumsal duyarlılık vardır.

  • --update-provider, --update-nameve --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 , veya microsoft/apt:1gibi microsoft/script:1microsoft/swupdate:1güncelleştirmeyi handler ve bu güncelleştirmeyle ilişkili properties güncelleştirmeyi belirtir. Birden çok kez kullanabilirsiniz --step .
  • --file parametresi, güncelleştirme dosyalarınızın öğesini path 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>