Megosztás a következőn keresztül:


Az Azure Device Update for IoT Hub importálási fogalmai

Ha egy frissítést az IoT Hubhoz készült Azure Device Update használatával szeretne üzembe helyezni az eszközökön, először importálja a frissítést az Eszközfrissítés szolgáltatásba, amely tárolja az importált frissítést, és telepíti az eszközökre. Ez a cikk áttekintést nyújt néhány fontos fogalomról, amelyeket érdemes megismerni a frissítések importálása során.

Jegyzék importálása

Az importálási jegyzék egy JSON-fájl, amely az importálandó frissítéssel kapcsolatos fontos információkat határozza meg. Az importálási folyamat részeként elküldheti az importálási jegyzékfájlt és a hozzá tartozó frissítési fájlt vagy fájlokat, például a belső vezérlőprogram frissítési csomagját. Az importálási jegyzékben definiált metaadatok a frissítés betöltésére szolgálnak. Néhány metaadat az üzembe helyezéskor is használható, például annak ellenőrzésére, hogy egy frissítés megfelelően van-e telepítve.

Az alábbi JSON-kód egy példa importálási jegyzékfájlt mutat be:

{
  "updateId": {
    "provider": "Contoso",
    "name": "Toaster",
    "version": "1.0"
  },
  "isDeployable": false,
  "compatibility": [
    {
      "manufacturer": "Contoso",
      "model": "Toaster"
    }
  ],
  "instructions": {
    "steps": [
      {
        "handler": "microsoft/swupdate:2",
        "files": [
          "firmware.swu"
        ],
        "handlerProperties": {
          "installedCriteria": "1.0"
        }
      }
    ]
  },
  "files": [
    {
      "filename": "firmware.swu",
      "sizeInBytes": 7558,
      "hashes": {
        "sha256": "/CD7Sn6fiknWa3NgcFjGlJ+ccA81s1QAXX4oo5GHiFA="
      }
    }
  ],
  "createdDateTime": "2022-01-19T06:23:52.6996916Z",
  "manifestVersion": "5.0"
}

Az importálási jegyzékfájl szakaszai az eszközfrissítés fontos fogalmait jelölik, az alábbi szakaszokban leírtak szerint. A teljes importálási jegyzéksémáról további információt a Jegyzékfájl importálása JSON-sémában talál.

Identitás frissítése

A frissítési identitás vagy updateId az eszközfrissítésben lévő frissítés egyedi azonosítója, és a következő tulajdonságokat tartalmazza:

  • A szolgáltató az az entitás, amely létrehozza vagy felelős a frissítésért. A szolgáltató gyakran cégnév.
  • A név egy frissítési osztály azonosítója. A név gyakran eszközosztály vagy modellnév.
  • A verzió egy szám, amely megkülönbözteti ezt a frissítést a többitől ugyanazzal a szolgáltatóval és névvel.

Például:

{
  "updateId": {
    "provider": "Contoso",
    "name": "Toaster",
    "version": "1.0"
  }
}

Feljegyzés

Ezt updateId csak az Eszközfrissítési szolgáltatás használja, és eltér az eszközökön található szoftverösszetevő-identitásoktól.

Kompatibilitás

A Kompatibilitás szakasz egy vagy több tetszőleges kulcs-érték pár használatával határozza meg a frissítést telepítő eszközöket. A frissítés üzembe helyezésére csak azok az eszközök jogosultak, amelyek a kompatibilitási értékekkel egyező tulajdonságokat jelentenek. Egy frissítés több eszközosztálysal is kompatibilissé alakítható, ha több eszközkompatibilitási tulajdonságot is tartalmaz.

Az alábbi példa egy olyan frissítést mutat be, amely csak olyan eszközökön telepíthető, amelyek a Contoso-t és a Toastert jelentik eszközgyártóként és -modellként.

{
  "compatibility": [
    {
      "manufacturer": "Contoso",
      "model": "Toaster"
    }
  ]
}

Utasítások

Az Utasítások szakasz tartalmazza a frissítés telepítéséhez szükséges információkat vagy lépéseket az eszközügynök számára. A legegyszerűbb frissítés egyetlen beágyazott lépést tartalmaz, amely végrehajtja a frissítés hasznos adatfájlját egy, az eszközügynökben regisztrált kezelő használatával. Az alábbi példa egy egylépéses utasításokat tartalmazó szakaszt mutat be.

{
  "instructions": {
    "steps": [
      {
        "handler": "microsoft/swupdate:2",
        "files": [
          "contoso.toaster.1.0.swu"
        ]
      }
    ]
  }
}

Feljegyzés

A handler tulajdonság egyenértékű az importálási updateType jegyzék 3.0-s vagy újabb verziójában szereplő tulajdonságával.

Egy frissítés több lépést is tartalmazhat, ahogyan az alábbi példában is látható:

{
  "instructions": {
    "steps": [
      {
        "description": "pre-install script",
        "handler": "microsoft/script:1",
        "handlerProperties": {
          "arguments": "--pre-install"
        },
        "files": [
          "configure.sh"
        ]
      },
      {
        "description": "firmware package",
        "handler": "microsoft/swupdate:2",
        "files": [
          "contoso.toaster.1.0.swu"
        ]
      }
    ]
  }
}

A frissítés tartalmazhat hivatkozási lépéseket, amelyek arra utasítják az eszközügynököt, hogy telepítsen egy másik frissítést a saját importálási jegyzékével, és hozzon létre egy szülő- és gyermekfrissítési kapcsolatot. A frissítés tartalmazhat beágyazott és hivatkozási lépések tetszőleges kombinációját.

Egy kenyérpirító frissítése például két gyermekfrissítést tartalmazhat:

{
  "instructions": {
    "steps": [
      {
        "type": "reference",
        "updateId": {
          "provider": "Contoso",
          "name": "Toaster.HeatingElement",
          "version": "1.0"
        }
      },
      {
        "type": "reference",
        "updateId": {
          "provider": "Contoso",
          "name": "Toaster.Sensors",
          "version": "1.0"
        }
      }
    ]
  }
}

Fájlok

Az importálási jegyzék Fájlok szakasza olyan hasznos adatfájl-metaadatokat tartalmaz, mint a name, sizeés hash. Az Eszközfrissítés ezt a metaadatot használja az importálási folyamat során az integritás ellenőrzéséhez, és ugyanazokat az információkat továbbítja az eszközügynöknek az integritás-ellenőrzéshez a telepítés előtt.

Feljegyzés

A csak hivatkozási lépéseket tartalmazó szülőfrissítések nem határoznak meg hasznos adatfájlokat a frissítéshez.

Importálási jegyzék létrehozása

Bár az importálási jegyzék JSON-t manuálisan is meg lehet adni szövegszerkesztővel, az Azure CLI jelentősen leegyszerűsíti a folyamatot. Ha készen áll egy importálási jegyzék létrehozására, használhatja az útmutatót.

Fontos

Az Eszközfrissítési szolgáltatásba az Azure Portalon keresztül történő importáláshoz az importálási jegyzék JSON-fájlnevének .importmanifest.json kell végződnie.

Tipp.

Az importálási jegyzék létrehozásakor a Visual Studio Code használatával engedélyezheti az automatikus kiegészítést és a JSON-sémaérvényesítést.

Importálási korlátok frissítése

Az IoT Hub-példány egyes eszközfrissítéseihez bizonyos korlátokat kell érvényesíteni. Ha még nem tekintette át őket, tekintse meg az eszközfrissítés korlátait.