Share via


Een update voorbereiden om te importeren in Device Update voor IoT Hub

Meer informatie over het verkrijgen van een nieuwe update en het voorbereiden van de update voor het importeren in Device Update voor IoT Hub.

Vereisten

  • Toegang tot een IoT Hub waarvoor Apparaatupdate voor IoT Hub is ingeschakeld.

  • Een Azure CLI-omgeving:

    1. Meld u aan bij de Azure CLI met behulp van de opdracht az login .
    2. Voer az version uit om de geïnstalleerde versie en afhankelijke bibliotheken te vinden. Voer az upgrade uit om te upgraden naar de nieuwste versie.
    3. Installeer bij het eerste gebruik de Azure CLI-extensie wanneer hierom wordt gevraagd. De opdrachten in dit artikel gebruiken de azure-iot-extensie . Voer deze opdracht uit az extension update --name azure-iot om ervoor te zorgen dat u de nieuwste versie van de extensie gebruikt.

Tip

De Azure CLI-opdrachten in dit artikel gebruiken het backslash-teken \ voor regelvervolging, zodat de opdrachtargumenten gemakkelijker te lezen zijn. Deze syntaxis werkt in Bash-omgevingen. Als u deze opdrachten uitvoert in PowerShell, vervangt u elke backslash door een backtick ''' of verwijdert u deze volledig.

Een update voor uw apparaten verkrijgen

Nu u Device Update hebt ingesteld en uw apparaten hebt ingericht, hebt u de updatebestanden nodig die u op deze apparaten gaat implementeren.

  • Als u apparaten hebt gekocht bij een OEM (Original Equipment Manufacturer) of oplossingsintegrator, levert die organisatie waarschijnlijk updatebestanden voor u, zonder dat u de updates hoeft te maken. Neem contact op met de OEM- of oplossingsintegrator om erachter te komen hoe ze updates beschikbaar maken.

  • Als uw organisatie software maakt voor de apparaten die u gebruikt, maakt diezelfde groep de updates voor die software.

Wanneer u een update maakt die moet worden geïmplementeerd met behulp van Device Update voor IoT Hub, begint u met de benadering op basis van installatiekopieën of pakketten, afhankelijk van uw scenario.

Een eenvoudig importmanifest voor Device Update maken

Zodra u uw updatebestanden hebt, maakt u een importmanifest om de update te beschrijven. Als u dit nog niet hebt gedaan, moet u vertrouwd raken met de basisconcepten voor importeren. Hoewel het mogelijk is om handmatig een JSON-importmanifest te maken met behulp van een teksteditor, vereenvoudigt de Azure-opdrachtregelinterface (CLI) het proces aanzienlijk en wordt in de onderstaande voorbeelden gebruikt.

Tip

Probeer de zelfstudies voor installatiekopieën, pakketten of proxy-updates als u dit nog niet hebt gedaan. U kunt ook alleen voorbeeldmanifestbestanden uit deze zelfstudies bekijken voor naslaginformatie.

De opdracht az iot du init v5 heeft de volgende argumenten:

  • --update-provider, --update-nameen --update-version: Deze drie parameters definiëren het updateId-object dat een unieke id is voor elke update.
  • --compat: Het compatibiliteitsobject is een set naam-waardeparen waarmee de eigenschappen van een apparaat worden beschreven waarmee deze update compatibel is.
    • Dezelfde exacte set compatibiliteitseigenschappen kan niet worden gebruikt met meer dan één provider en naamcombinatie.
  • --step: De updatehandlerop het apparaat (bijvoorbeeld microsoft/script:1, microsoft/swupdate:1of microsoft/apt:1) en de bijbehorende eigenschappen voor deze update.
  • --file: de paden naar uw updatebestand of bestanden.

Zie Schema- en API-gegevens importeren voor meer informatie over deze parameters.

az iot du update init v5 \
    --update-provider <replace with your Provider> \
    --update-name <replace with your update Name> \
    --update-version <replace with your update Version> \
    --compat <replace with the property name>=<replace with the value your device will report> <replace with the property name>=<replace with the value your device will report> \
    --step handler=<replace with your chosen handler> properties=<replace with any handler properties (JSON-formatted)> \
    --file path=<replace with path(s) to your update file(s), including the full file name> 

Voorbeeld:

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

Voor handlereigenschappen moet u mogelijk bepaalde tekens in uw JSON escapen. Gebruik bijvoorbeeld '\' dubbele aanhalingstekens als u de Azure CLI uitvoert in PowerShell.

De init opdracht ondersteunt geavanceerde scenario's, waaronder de functie gerelateerde bestanden waarmee u de relatie tussen verschillende updatebestanden kunt definiëren. Zie az iot du init v5 voor meer voorbeelden en een volledige lijst met optionele parameters.

Nadat u het importmanifest hebt gemaakt en het hebt opgeslagen als een JSON-bestand, kunt u de update importeren. Als u van plan bent om de gebruikersinterface van Azure Portal te gebruiken voor het importeren, moet u het importmanifest een naam geven in de volgende indeling: '<manifestnaam>.importmanifest.json'.

Een geavanceerd importmanifest voor Device Update maken voor een proxy-update

Als uw update complexer is, zoals een proxy-update, moet u mogelijk meerdere importmanifesten maken. U kunt dezelfde Azure CLI-benadering uit de vorige sectie gebruiken om zowel een bovenliggend importmanifest als een aantal onderliggende importmanifesten te maken voor complexe updates. Voer de volgende Azure CLI-opdrachten uit nadat u de voorbeeldparameterwaarden hebt vervangen door uw eigen waarden. Zie Schema- en API-gegevens importeren voor meer informatie over de waarden die u kunt gebruiken. In het onderstaande voorbeeld zijn er drie updates die op het apparaat moeten worden geïmplementeerd: één bovenliggende update en twee onderliggende updates:

az iot du update init v5 \
    --update-provider <replace with child_1 update Provider> \
    --update-name <replace with child_1 update Name> \
    --update-version <replace with child_1 update Version> \
    --compat manufacturer=<replace with the value your device will report> model=<replace with the value your device will report> \
    --step handler=<replace with your chosen handler> \
    --file path=<replace with path(s) to your update file(s), including the full file name> \
az iot du update init v5 \
    --update-provider <replace with child_2 update Provider> \
    --update-name <replace with child_2 update Name> \
    --update-version <replace with child_2 update Version> \
    --compat manufacturer=<replace with the value your device will report> model=<replace with the value your device will report> \
    --step handler=<replace with your chosen handler> \
    --file path=<replace with path(s) to your update file(s), including the full file name> \
az iot du update init v5 \
    --update-provider <replace with the parent update Provider> \
    --update-name <replace with the parent update Name> \
    --update-version <replace with the parent update Version> \
    --compat manufacturer=<replace with the value your device will report> model=<replace with the value your device will report> \
    --step handler=<replace with your chosen handler> properties=<replace with any desired handler properties (JSON-formatted)> \
    --file path=<replace with path(s) to your update file(s), including the full file name> \
    --step updateId.provider=<replace with child_1 update provider> updateId.name=<replace with child_1 update name> updateId.version=<replace with child_1 update version> \
    --step updateId.provider=<replace with child_2 update provider> updateId.name=<replace with child_2 update name> updateId.version=<replace with child_2 update version> \

Volgende stappen