Vorbereiten eines Updates für den Import in Device Update
In diesem Artikel wird beschrieben, wie Sie ein neues Update erhalten und auf den Import in Azure Device Update for IoT Hub vorbereiten, indem Sie ein Importmanifest erstellen.
Voraussetzungen
Ein Device Update-Konto und eine Instanz, die mit einem IoT-Hub konfiguriert sind.
Ein für Device Update bereitgestelltes IoT-Gerät oder ein entsprechender Simulator im IoT-Hub.
Die Bash-Umgebung in Azure Cloud Shell zum Ausführen von Azure CLI-Befehlen. Wählen Sie Cloud Shell starten aus, um Cloud Shell zu öffnen, oder wählen Sie das Cloud Shell-Symbol auf der oberen Symbolleiste des Azure-Portals aus.
Wenn Sie möchten, können Sie die Azure CLI-Befehle lokal ausführen:
- Azure-Befehlszeilenschnittstelle Führen Sie az version aus, um die installierte Azure CLI-Version und abhängige Bibliotheken anzuzeigen, und führen Sie az upgrade aus, um die aktuelle Version zu installieren.
- Melden Sie sich bei Azure an, indem Sie az login ausführen.
- Installieren Sie die Erweiterung
azure-iot
, wenn Sie bei der ersten Verwendung aufgefordert werden. Um sicherzustellen, dass Sie die aktuelle Version der Erweiterung verwenden, führen Sieaz extension update --name azure-iot
aus.
Tipp
Die Azure CLI-Befehle in diesem Artikel verwenden den umgekehrten Schrägstrich (\) für die Zeilenfortsetzung, damit die Befehlsargumente einfacher lesbar sind. Diese Syntax funktioniert in Bash-Umgebungen. Wenn Sie diese Befehle in PowerShell ausführen, ersetzen Sie jeden umgekehrten Schrägstrich durch ein Graviszeichen („`“), oder entfernen Sie die umgekehrten Schrägstriche vollständig.
Abrufen der Updatedateien für Ihr Gerät
Rufen Sie die Updatedateien ab, um sie mithilfe von Device Update auf Ihrem Gerät bereitzustellen. Wenn Sie Geräte von einem OEM (Original Equipment Manufacturer) oder Lösungsintegrator erworben haben, stellt die entsprechende Organisation wahrscheinlich Updates bereit, ohne dass Sie Updatedateien erstellen müssen. Wenden Sie sich an den OEM oder Lösungsintegrator, um zu erfahren, wie Updates verfügbar gemacht werden. Falls Ihre Organisation Software für Ihre Geräte erstellt, erstellt sie auch die Updates für diese Software.
Um das Update zu erstellen, wählen Sie je nach Szenario entweder den imagebasierten oder den paketbasierten Updatetyp aus.
Tipp
Sie können die Tutorials für imagebasierte, paketbasierte oder proxybasierte Updates ausprobieren oder nur Beispiele für Importmanifestdateien aus diesen Tutorials anzeigen.
Erstellen eines grundlegenden Device Update-Importmanifests
Wenn Sie Ihre Updatedateien erstellt haben und mit grundlegenden Device Update-Importkonzepten vertraut sind, erstellen Sie ein Importmanifest, um das Update zu beschreiben. Sie können zwar ein JSON-Importmanifest manuell mithilfe eines Text-Editors erstellen, aber der Azure CLI-Befehl az iot du init v5 vereinfacht den Prozess. Weitere Informationen zum Importmanifestschema finden Sie unter Importieren von Updates in Device Update for IoT Hub – Schema und weitere Informationen.
Der Befehl az iot du init v5
akzeptiert die folgenden Argumente. Alle sind erforderlich, mit Ausnahme des Arguments --file
, das von --step
abgeleitet wird, wenn es nicht angegeben wird. Es besteht Positionssensitivität zwischen --step
und --file
.
- Die Parameter
--update-provider
,--update-name
und--update-version
definieren dasupdateId
-Objekt, das ein eindeutiger Bezeichner für jedes Update ist. - Das Kompatibilitätsobjekt
--compat
besteht aus Name/Wert-Paaren, die die Eigenschaften eines Geräts beschreiben, mit dem dieses Update kompatibel ist. Sie können bestimmte Kompatibilitätseigenschaften nur mit einer Kombination aus Anbieter und Name verwenden. - Der Parameter
--step
gibt dashandler
-Element des Updates auf dem Gerät, z. B.microsoft/script:1
,microsoft/swupdate:1
odermicrosoft/apt:1
, sowie die zugeordnetenproperties
-Elemente für dieses Update an. Sie können--step
mehrmals verwenden. - Der Parameter
--file
gibt den Pfad (path
) für die Aktualisierungsdateien an. Sie können--file
einmal oder mehrmals verwenden.
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>
Der folgende Befehl az iot du update init v5
zeigt Beispielwerte:
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
Für Handlereigenschaften müssen Sie möglicherweise bestimmte Zeichen in Ihrem JSON-Code mit Escapezeichen versehen. Verwenden Sie beispielsweise '\'
, um doppelte Anführungszeichen mit Escapezeichen zu versehen, wenn Sie die Azure CLI in PowerShell ausführen.
Der az iot du init v5
-Befehl unterstützt erweiterte Szenarios, einschließlich des Features für verwandte Dateien, mit dem Sie die Beziehung zwischen verschiedenen Updatedateien definieren können. Weitere Beispiele und eine vollständige Liste optionaler Parameter finden Sie in der Befehlsreferenz zu az iot du init v5.
Nachdem Sie Ihr Importmanifest erstellt und als JSON-Datei gespeichert haben, können Sie das Update importieren. Wenn Sie planen, das Azure-Portal für den Import zu verwenden, stellen Sie sicher, dass Sie zur Benennung des Importmanifests das folgende Format verwenden: <Manifestname>.importmanifest.json.
Erstellen eines erweiterten Device Update-Importmanifests für ein Proxyupdate
Wenn Ihr Update komplexer ist, z. B. ein Proxyupdate, müssen Sie möglicherweise mehrere Importmanifeste erstellen. Für komplexe Updates können Sie den Azure CLI-Befehl az iot du update init v5
verwenden, um ein übergeordnetes Importmanifest und eine Reihe von untergeordneten Importmanifesten zu erstellen.
Ersetzen Sie die Platzhalterwerte in den folgenden Azure CLI-Befehlen. Ausführliche Informationen zu den Werten, die Sie verwenden können, finden Sie unter Importieren von Updates in Device Update for IoT Hub – Schema und weitere Informationen. Das folgende Beispiel zeigt drei Updates für die Bereitstellung auf dem Gerät: ein übergeordnetes Update und zwei untergeordnete Updates.
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>
Zugehöriger Inhalt
- Importieren von Updates in Device Update für IoT Hub
- Importieren von Updates in Device Update for IoT Hub – Schema und weitere Informationen
- Proxy-Updates und Aktualisierung mehrerer Komponenten
- Importieren eines Updates
- Verwenden des Features „Zugehörige Dateien“ zum Verweisen auf mehrere Updatedateien