Příprava aktualizace pro import do služby Device Update pro IoT Hub
Zjistěte, jak získat novou aktualizaci a připravit ji na import do služby Device Update pro IoT Hub.
Požadavky
Přístup ke službě IoT Hub s povolenou službou Device Update pro IoT Hub
Prostředí Azure CLI:
Použijte prostředí Bash v Azure Cloud Shellu.
Nebo pokud dáváte přednost místnímu spouštění referenčních příkazů rozhraní příkazového řádku, nainstalujte Azure CLI.
- Přihlaste se k Azure CLI pomocí příkazu az login .
- Spuštěním příkazu az version zjistěte verzi a závislé knihovny, které jsou nainstalované. Pokud chcete upgradovat na nejnovější verzi, spusťte az upgrade.
- Po zobrazení výzvy nainstalujte rozšíření Azure CLI při prvním použití. Příkazy v tomto článku používají rozšíření azure-iot . Spusťte,
az extension update --name azure-iot
abyste měli jistotu, že používáte nejnovější verzi rozšíření.
Tip
Příkazy Azure CLI v tomto článku používají znak zpětného lomítka \
pro pokračování řádku, aby byly argumenty příkazů čitelnější. Tato syntaxe funguje v prostředích Bash. Pokud tyto příkazy spouštíte v PowerShellu, nahraďte každé zpětné lomítko zpětným lomítkem " nebo je úplně odeberte.
Získání aktualizace pro vaše zařízení
Teď, když jste nastavili službu Device Update a zřídili svá zařízení, potřebujete aktualizační soubory, které do těchto zařízení nasadíte.
Pokud jste zařízení zakoupili od výrobce OEM (Original Equipment Manufacturer) nebo integrátoru řešení, bude tato organizace s největší pravděpodobností poskytovat soubory aktualizací, aniž byste museli vytvářet aktualizace. Pokud chcete zjistit, jak zpřístupňují aktualizace, obraťte se na integrátora OEM nebo řešení.
Pokud vaše organizace vytváří software pro zařízení, která používáte, vytvoří stejná skupina aktualizace pro tento software.
Při vytváření aktualizace, která se má nasadit pomocí služby Device Update pro IoT Hub, začněte s přístupem založeným na imagi nebo balíčku v závislosti na vašem scénáři.
Vytvoření základního manifestu importu služby Device Update
Jakmile budete mít aktualizační soubory, vytvořte manifest importu pro popis aktualizace. Pokud jste to ještě neudělali, seznamte se se základními koncepty importu. I když je možné vytvořit json manifestu importu ručně pomocí textového editoru, rozhraní příkazového řádku Azure (CLI) proces výrazně zjednodušuje a používá se v následujících příkladech.
Tip
Pokud jste to ještě neudělali, vyzkoušejte kurzy aktualizace založené na imagi, balíčku nebo proxy serveru. Ukázkové soubory manifestu importu můžete zobrazit také v těchto kurzech pro referenci.
Příkaz az iot du init v5 přebírá následující argumenty:
--update-provider
,--update-name
a--update-version
: Tyto tři parametry definují objekt updateId , který je jedinečný identifikátor pro každou aktualizaci.--compat
: Objekt kompatibility je sada dvojic název-hodnota, které popisují vlastnosti zařízení, se kterým je tato aktualizace kompatibilní.- Stejnou sadu vlastností kompatibility nelze použít s více než jednou kombinací zprostředkovatele a názvu.
--step
: Obslužná rutina aktualizace v zařízení (napříkladmicrosoft/script:1
,microsoft/swupdate:1
nebomicrosoft/apt:1
) a její přidružené vlastnosti pro tuto aktualizaci.--file
: Cesty k aktualizačnímu souboru nebo souborům.
Další informace o těchtoparametrch
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>
Příklad:
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
U vlastností obslužné rutiny může být nutné u řídicích znaků v kódu JSON utéct určitými znaky. Pokud například používáte Azure CLI v PowerShellu, můžete uvozovat '\'
dvojité uvozovky.
Příkaz init
podporuje pokročilé scénáře, včetně funkce souvisejících souborů, která umožňuje definovat vztah mezi různými aktualizačními soubory. Další příklady a úplný seznam volitelných parametrů najdete v tématu az iot du init v5.
Jakmile vytvoříte manifest importu a uložíte ho jako soubor JSON, můžete aktualizaci importovat. Pokud plánujete pro import použít uživatelské rozhraní webu Azure Portal, nezapomeňte manifest importu pojmenovat v následujícím formátu: manifestname<>.importmanifest.json.
Vytvoření rozšířeného manifestu importu služby Device Update pro aktualizaci proxy serveru
Pokud je aktualizace složitější, například aktualizace proxy serveru, možná budete muset vytvořit více manifestů importu. Stejný přístup Azure CLI z předchozí části můžete použít k vytvoření nadřazeného manifestu importu i určitého počtu podřízených manifestů importu pro komplexní aktualizace. Po nahrazení ukázkových hodnot parametrů vlastními spusťte následující příkazy Azure CLI. Podrobnosti o tom, jaké hodnoty můžete použít, najdete v tématu Import schématu a informací o rozhraní API. V následujícím příkladu jsou na zařízení nasazeny tři aktualizace: jedna nadřazená aktualizace a dvě podřízené aktualizace:
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> \