Frissítés előkészítése az eszközfrissítésbe való importáláshoz
Ez a cikk azt ismerteti, hogyan szerezhet be egy új frissítést, és hogyan készítheti elő importálásra az IoT Hubhoz készült Azure Device Update-be egy importálási jegyzék létrehozásával.
Előfeltételek
IoT Hubbal konfigurált eszközfrissítési fiók és példány.
IoT-eszköz vagy -szimulátor , amely az IoT Hub eszközfrissítéséhez van kiépítve.
Az Azure Cloud Shell Bash-környezete az Azure CLI-parancsok futtatásához. A Cloud Shell megnyitásához válassza a Cloud Shell indítása lehetőséget, vagy válassza a Cloud Shell ikont az Azure Portal felső eszköztárán.
Tetszés szerint helyileg futtathatja az Azure CLI-parancsokat:
- Telepítse az Azure parancssori felületét (CLI). Futtassa az az verziót a telepített Azure CLI-verzió és a függő kódtárak megtekintéséhez, és az az upgrade futtatásával telepítse a legújabb verziót.
- Jelentkezzen be az Azure-ba az login futtatásával.
- Telepítse a
azure-iot
bővítményt, amikor a rendszer első használatkor kéri. Ha meg szeretné győződni arról, hogy a bővítmény legújabb verzióját használja, futtassa a parancsotaz extension update --name azure-iot
.
Tipp.
A cikkben szereplő Azure CLI-parancsok a fordított perjel \ karaktert használják a vonal folytatásához, hogy a parancsargumentumok könnyebben olvashatók legyenek. Ez a szintaxis Bash-környezetekben működik. Ha ezeket a parancsokat a PowerShellben futtatja, cserélje le az egyes fordított perjeleket egy backtickre, vagy távolítsa el őket teljesen.
Az eszköz frissítési fájljainak lekérése
Kérje le a frissítési fájlt vagy fájlokat, hogy az eszközre az Eszközfrissítés használatával telepítsen. Ha eredeti berendezésgyártótól (OEM) vagy megoldási integrátortól vásárolt eszközöket, az adott szervezet valószínűleg frissítési fájlok létrehozása nélkül is biztosít frissítéseket. A frissítések elérhetővé tétele érdekében lépjen kapcsolatba az OEM vagy a megoldás integrátorával. Ha a szervezet szoftvereket hoz létre az eszközeihez, akkor a szoftver frissítéseit is létrehozza.
A frissítés létrehozásához válassza ki a képalapú vagy a csomagalapú frissítés típusát a forgatókönyvtől függően.
Tipp.
Kipróbálhatja a képalapú, csomagalapú vagy proxyfrissítési oktatóanyagokat, vagy megtekintheti az oktatóanyagokból származó mintaimportálási jegyzékfájlokat referenciaként.
Alapszintű eszközfrissítési importálási jegyzék létrehozása
Ha már rendelkezik a frissítési fájlokkal, és ismeri az eszközfrissítések importálásának alapvető fogalmait, hozzon létre egy importálási jegyzéket a frissítés leírásához. Bár manuálisan is létrehozhat JSON-importálási jegyzékfájlt egy szövegszerkesztővel, az Azure CLI az iot du init v5 parancs leegyszerűsíti a folyamatot. Az importálási jegyzéksémával kapcsolatos további információkért tekintse meg az Eszközfrissítés importálási sémáját és az API-információkat.
A az iot du init v5
parancs a következő argumentumokat veszi fel. Minden szükséges, kivéve --file
, amely származik --step
, ha nincs megadva. A pozíció érzékenysége és --file
a --step
.
- A
--update-provider
,--update-name
és--update-version
paraméterek határozzák meg azt azupdateId
objektumot, amely minden frissítés egyedi azonosítója. - A
--compat
kompatibilitási objektum név-érték párok készlete, amelyek egy olyan eszköz tulajdonságait írják le, amelyekkel ez a frissítés kompatibilis. Egy adott kompatibilitási tulajdonságkészletet csak egy szolgáltatóval és névkombinációval használhat. - A
--step
paraméter megadja az eszköz frissítéséthandler
, példáulmicrosoft/script:1
,microsoft/swupdate:1
vagymicrosoft/apt:1
, és a frissítéshez társítottproperties
frissítését. Több alkalommal is használhatja--step
. - A
--file
paraméter megadja apath
frissítési fájlokat. Egy vagy több alkalommal is használhatja--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>
Az alábbi az iot du update init v5
parancs példaértékeket mutat be:
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
Tipp.
A kezelő tulajdonságaihoz előfordulhat, hogy el kell menekülnie a JSON bizonyos karakterei elől. Használhatja például '\'
a dupla idézőjelek feloldására, ha az Azure CLI-t a PowerShellben futtatja.
A az iot du init v5
parancs speciális forgatókönyveket támogat, beleértve a kapcsolódó fájlok funkciót is, amely lehetővé teszi a különböző frissítési fájlok közötti kapcsolat meghatározását. További példákért és az opcionális paraméterek teljes listájáért tekintse meg az az iot du init v5 parancshivatkozást.
Miután létrehozta az importálási jegyzékfájlt, és JSON-fájlként mentette, importálhatja a frissítést. Ha az Azure Portalt szeretné importálni, mindenképpen nevezze el az importálási jegyzékfájlt a jegyzékfájl formátumával<>.importmanifest.json.
Speciális eszközfrissítési importálási jegyzék létrehozása proxyfrissítéshez
Ha a frissítés összetettebb, például proxyfrissítés, előfordulhat, hogy több importálási jegyzékfájlt kell létrehoznia. Összetett frissítések esetén az az iot du update init v5
Azure CLI paranccsal létrehozhat egy szülőimportálási jegyzéket és néhány gyermekimportálásijegyzéket.
Cserélje le a helyőrző értékeket az alábbi Azure CLI-parancsokban. A használható értékekkel kapcsolatos részletekért lásd : Séma importálása és API-információk. Az alábbi példa három, az eszközön üzembe helyezendő frissítést, egy szülőfrissítést és két gyermekfrissítést mutat be.
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>