Sdílet prostřednictvím


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

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-providera --update-version , --update-namedefinují 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 aktualizaci handler v zařízení, například microsoft/script:1, microsoft/swupdate:1nebo microsoft/apt:1, a jeho přidružené properties k této aktualizaci. Můžete použít --step více než jednou.
  • Parametr --file určuje path 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>