Freigeben über


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:

    1. 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.
    2. Melden Sie sich bei Azure an, indem Sie az login ausführen.
    3. 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 Sie az 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 das updateId-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 das handler-Element des Updates auf dem Gerät, z. B. microsoft/script:1, microsoft/swupdate:1 oder microsoft/apt:1, sowie die zugeordneten properties-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>