Příprava aktualizace pro import do služby Device Update
Tento článek popisuje, jak získat novou aktualizaci a připravit ji na import do služby Azure Device Update pro IoT Hub vytvořením manifestu importu.
Požadavky
Účet a instance služby Device Update nakonfigurované s centrem IoT.
Zařízení IoT nebo simulátor zřízený pro službu Device Update v centru IoT.
Prostředí Bash v Azure Cloud Shellu pro spouštění příkazů Azure CLI Výběrem možnosti Spustit Cloud Shell otevřete Cloud Shell nebo na horním panelu nástrojů webu Azure Portal vyberte ikonu Cloud Shellu.
Pokud chcete, můžete příkazy Azure CLI spustit místně:
- Nainstalovat rozhraní příkazového řádku Azure CLI. Spuštěním příkazu az version zobrazte nainstalovanou verzi Azure CLI a závislé knihovny a spuštěním příkazu az upgrade nainstalujte nejnovější verzi.
- Přihlaste se k Azure spuštěním příkazu az login.
- Po zobrazení výzvy k prvnímu
azure-iot
použití nainstalujte rozšíření. Pokud chcete mít jistotu, že používáte nejnovější verzi rozšíření, spusťteaz extension update --name azure-iot
příkaz .
Tip
Příkazy Azure CLI v tomto článku používají zpětné lomítko \ znak pro pokračování řádku, aby byly argumenty příkazu snadněji čitelné. Tato syntaxe funguje v prostředích Bash. Pokud tyto příkazy spustíte v PowerShellu, nahraďte každé zpětné lomítko zpětným lomítkem nebo je úplně odeberte.
Získání aktualizačních souborů pro vaše zařízení
Pomocí služby Device Update získejte soubor nebo soubory aktualizace, které chcete nasadit do zařízení. Pokud jste zařízení zakoupili od výrobce OEM (Original Equipment Manufacturer) nebo integrátoru řešení, pravděpodobně tato organizace poskytuje aktualizace, aniž byste museli vytvářet aktualizační soubory. Pokud chcete zjistit, jak zpřístupňují aktualizace, obraťte se na integrátora OEM nebo řešení. Pokud vaše organizace pro vaše zařízení vytváří software, vytvoří také aktualizace pro tento software.
Pokud chcete vytvořit aktualizaci, zvolte typ aktualizace založené na imagi nebo balíčku v závislosti na vašem scénáři.
Tip
Můžete vyzkoušet kurzy aktualizace založené na imagi, balíčku nebo proxy serveru nebo si můžete prohlédnout ukázkové soubory manifestu importu z těchto kurzů.
Vytvoření základního manifestu importu služby Device Update
Jakmile budete mít aktualizační soubory a znáte základní koncepty importu služby Device Update, vytvořte manifest importu, který tuto aktualizaci popisuje. Manifest importu JSON sice můžete vytvořit ručně pomocí textového editoru, ale příkaz Azure CLI az iot du init v5 proces zjednodušuje. Další informace o schématu manifestu importu najdete v tématu Import schématu a rozhraní API služby Device Update.
Příkaz az iot du init v5
přebírá následující argumenty. Všechny jsou požadovány s výjimkou --file
, který je odvozen od --step
, pokud není zadán. Existuje poziční citlivost mezi --step
a --file
.
- Parametry
--update-provider
a--update-version
,--update-name
definujíupdateId
objekt, který je jedinečný identifikátor pro každou aktualizaci. - Objekt
--compat
kompatibility je sada dvojic název-hodnota, které popisují vlastnosti zařízení, se kterým je tato aktualizace kompatibilní. Můžete použít konkrétní sadu vlastností kompatibility pouze s jednou kombinací zprostředkovatele a názvu. - Parametr
--step
určuje aktualizacihandler
v zařízení, napříkladmicrosoft/script:1
,microsoft/swupdate:1
nebomicrosoft/apt:1
, a jeho přidruženéproperties
k této aktualizaci. Můžete použít--step
více než jednou. - Parametr
--file
určujepath
soubory aktualizace. Můžete použít--file
jednu nebo vícekrát.
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>
Následující az iot du update init v5
příkaz ukazuje ukázkové hodnoty:
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
Tip
U vlastností obslužné rutiny může být nutné uvést určité znaky ve formátu JSON. Pokud například spustíte Azure CLI v PowerShellu, použijte '\'
k řídicím uvozovkách dvojité uvozovky.
Příkaz az iot du init v5
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 referenčních informacích k příkazům az iot du init v5 .
Jakmile vytvoříte manifest importu a uložíte ho jako soubor JSON, můžete aktualizaci importovat. Pokud chcete k importu použít Azure Portal, nezapomeňte svůj manifest importu pojmenovat pomocí názvu manifestu formátu<.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. U složitých aktualizací můžete pomocí az iot du update init v5
příkazu Azure CLI vytvořit nadřazený manifest importu a určitý počet podřízených manifestů importu.
Zástupné hodnoty nahraďte následujícími příkazy Azure CLI. Podrobnosti o hodnotách, které můžete použít, najdete v tématu Import schématu a informací o rozhraní API. Následující příklad ukazuje tři aktualizace pro nasazení do zařízení, nadřazenou aktualizaci a dvě podřízené aktualizace.
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>