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


IoT Edge-modulok nagy léptékű üzembe helyezése a Visual Studio Code használatával

A következőkre vonatkozik: IoT Edge 1.5 pipa IoT Edge 1.5 IoT Edge 1.4 pipa IoT Edge 1.4

Fontos

Az IoT Edge 1.5 LTS és az IoT Edge 1.4 LTS támogatott kiadások. Az IoT Edge 1.4 LTS 2024. november 12-én megszűnik. Ha egy korábbi kiadáson dolgozik, olvassa el az IoT Edge frissítése című témakört.

Az IoT Edge automatikus üzembe helyezését a Visual Studio Code használatával hozhatja létre, amely egyszerre több eszköz folyamatos üzembe helyezését felügyeli. Az IoT Edge automatikus üzembe helyezései az IoT Hub automatikus eszközfelügyeleti funkciójának részét képezik. Az üzembe helyezés olyan dinamikus folyamatok, amelyek lehetővé teszik több modul üzembe helyezését több eszközön. A modulok állapotát és állapotát is nyomon követheti, és szükség esetén módosításokat hajthat végre.

További információ: Az IoT Edge automatikus üzembe helyezésének ismertetése önálló eszközökhöz vagy nagy méretekben.

Ebben a cikkben beállítja a Visual Studio Code-ot és az IoT-bővítményt. Ezután megtudhatja, hogyan helyezhet üzembe modulokat egy IoT Edge-eszközön.

Előfeltételek

Jelentkezzen be az IoT Hub eléréséhez

A Visual Studio Code Azure IoT-bővítményeivel műveleteket végezhet a központtal. Ahhoz, hogy ezek a műveletek működjenek, be kell jelentkeznie az Azure-fiókjába, és ki kell választania azt az IoT Hubot, amelyen dolgozik.

  1. A Visual Studio Code-ban nyissa meg az Explorer nézetet.

  2. Az Explorer alján bontsa ki az Azure IoT Hub szakaszt.

  3. Kattintson a ... elemre az Azure IoT Hub szakasz fejlécében. Ha nem látja a három pontot, mutasson a fejlécre.

  4. Válassza az IoT Hub kiválasztása lehetőséget.

  5. Ha nincs bejelentkezve az Azure-fiókjába, kövesse az utasításokat.

  6. Válassza ki az Azure-előfizetését.

  7. Válassza ki az IoT Hubot.

Üzembehelyezési jegyzék konfigurálása

Az üzembehelyezési jegyzék egy JSON-dokumentum, amely leírja, hogy mely modulokat kell üzembe helyezni. Azt is leírja, hogyan áramlik az adat a modulok és a modul ikerpéldányok kívánt tulajdonságai között. További információ: Modulok üzembe helyezése és útvonalak létrehozása az IoT Edge-ben.

A modulok Visual Studio Code-tal történő üzembe helyezéséhez mentse az üzembehelyezési jegyzékfájlt helyileg. JSON-fájl. A konfiguráció eszközre való alkalmazásához a parancs futtatásakor meg kell adnia a helyét.

Íme egy alapszintű üzembehelyezési jegyzék egy modullal, példaként:

Feljegyzés

Ez a minta üzembehelyezési jegyzék az IoT Edge-ügynökhöz és -központhoz az 1.1-es sémaverziót használja. A séma 1.1-es verziója az IoT Edge 1.0.10-es verziójával együtt jelent meg, és lehetővé teszi az olyan funkciókat, mint a modul indítási sorrendje és az útvonalak rangsorolása.

{
  "content": {
    "modulesContent": {
      "$edgeAgent": {
        "properties.desired": {
          "schemaVersion": "1.1",
          "runtime": {
            "type": "docker",
            "settings": {
              "minDockerVersion": "v1.25",
              "loggingOptions": "",
              "registryCredentials": {}
            }
          },
          "systemModules": {
            "edgeAgent": {
              "type": "docker",
              "settings": {
                "image": "mcr.microsoft.com/azureiotedge-agent:1.5",
                "createOptions": "{}"
              }
            },
            "edgeHub": {
              "type": "docker",
              "status": "running",
              "restartPolicy": "always",
              "settings": {
                "image": "mcr.microsoft.com/azureiotedge-hub:1.5",
                "createOptions": "{\"HostConfig\":{\"PortBindings\":{\"5671/tcp\":[{\"HostPort\":\"5671\"}],\"8883/tcp\":[{\"HostPort\":\"8883\"}],\"443/tcp\":[{\"HostPort\":\"443\"}]}}}"
              }
            }
          },
          "modules": {
            "SimulatedTemperatureSensor": {
              "version": "1.5",
              "type": "docker",
              "status": "running",
              "restartPolicy": "always",
              "settings": {
                "image": "mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.5",
                "createOptions": "{}"
              }
            }
          }
        }
      },
      "$edgeHub": {
        "properties.desired": {
          "schemaVersion": "1.1",
          "routes": {
            "upstream": "FROM /messages/* INTO $upstream"
          },
          "storeAndForwardConfiguration": {
            "timeToLiveSecs": 7200
          }
        }
      },
      "SimulatedTemperatureSensor": {
        "properties.desired": {
          "SendData": true,
          "SendInterval": 5
        }
      }
    }
  }
}

Ha meg kell határoznia, hogy mely IoT Edge-eszközöket konfigurálhatja jelenleg, futtassa az IoT Edge: Eszközadatok lekérése parancsot.

Eszközök azonosítása célfeltételekkel

Az üzembe helyezést fogadó IoT Edge-eszközök azonosításához meg kell adnia egy célfeltételt. A célfeltétel akkor teljesül, ha a megadott feltételeknek deviceId, címkeérték vagy jelentett tulajdonságérték van megfeleltetve.

Címkéket konfigurálhat az ikereszközben. Íme egy példa egy ikereszközre, amely címkékkel rendelkezik:

"tags":{
  "location":{
    "building": "20",
    "floor": "2"
  },
  "roomtype": "conference",
  "environment": "prod"
}

Ez az eszköz akkor kap telepítést, ha az üzembe helyezés célfeltétele tartalmaz egy olyan kifejezést, amely megfelel a címke egyik értékének, például tag.location.building = '20'.

Ha egy adott eszközt szeretne megcélzni a címkéktől vagy más értékektől függetlenül, csak adja meg a deviceId célfeltételt.

Íme néhány további példa:

  • deviceId ='linuxprod1'
  • deviceId = 'linuxprod1' OR deviceId = 'linuxprod2' OR deviceId = 'linuxprod3'
  • tags.environment ='prod'
  • tags.environment = 'prod' AND tags.location = 'westus2'
  • tags.environment = 'prod' OR tags.location = 'westus2'
  • tags.operator = 'John' AND tags.environment = 'prod' AND NOT deviceId = 'linuxprod1'

A részletekért tekintse meg a célfeltételt . Az ikereszközökről és címkékről további információt az IoT Hubban található ikereszközök ismertetése és használata című témakörben talál.

Az ikereszköz szerkesztése

A címkék konfigurálásához szerkesztheti az ikereszközt a Visual Studio Code-ban. A Nézet menüben válassza a Parancskatalógus lehetőséget, és futtassa az IoT Edge: Device Twin parancsot. Válassza ki az IoT Edge-eszközt, és megjelenik az ikereszköz.

Ebben a példában nincs meghatározva címke. Cserélje le az aktuális üres szakaszt "tags": {} a saját címkedefinícióra.

{
    "deviceId": "myEdgeDevice",
    "etag": "AAAAAAAAAAE=",
    "deviceEtag": "NTgwMDg5MDAz",
    "status": "enabled",
    "statusUpdateTime": "0001-01-01T00:00:00Z",
    "connectionState": "Disconnected",
    "lastActivityTime": "0001-01-01T00:00:00Z",
    "cloudToDeviceMessageCount": 0,
    "authenticationType": "sas",
    "x509Thumbprint": {
        "primaryThumbprint": null,
        "secondaryThumbprint": null
    },
    "version": 2,
    "properties": {
        "desired": {
            "$metadata": {
                "$lastUpdated": "2019-12-29T00:58:49.9315265Z"
            },
            "$version": 1
        },
        "reported": {
            "$metadata": {
                "$lastUpdated": "2019-12-29T00:58:49.9315265Z"
            },
            "$version": 1
        }
    },
    "capabilities": {
        "iotEdge": true
    },
    "deviceScope": "ms-azure-iot-edge://myEdgeDevice-637131779299315265",
    "tags": {}
}

A helyi fájl mentése után futtassa az IoT Edge: Device Twin parancsot.

Üzembe helyezés létrehozása nagy méretekben

Miután konfigurálta az üzembehelyezési jegyzékfájlt és a címkéket az ikereszközben, készen áll az üzembe helyezésre.

  1. A Nézet menüben válassza a Parancskatalógus lehetőséget, és válassza az Azure IoT Edge: Üzembe helyezés létrehozása méretezési parancsot.

  2. Lépjen a használni kívánt üzembehelyezési jegyzék JSON-fájljához, és kattintson az Edge-alapú üzembehelyezési jegyzék kiválasztása elemre.

  3. Adja meg az értékeket a kérésnek megfelelően, kezdve az üzembehelyezési azonosítóval.

    Képernyőkép az üzembehelyezési azonosító megadásáról.

    Adja meg az alábbi paraméterek értékeit:

Paraméter Leírás
Üzembehelyezési azonosító Az IoT Hubban létrehozandó üzembe helyezés neve. Adjon egyedi nevet az üzembe helyezésnek, amely legfeljebb 128 kisbetűs lehet. Kerülje a szóközöket és a következő érvénytelen karaktereket: & ^ [ ] { } \ | " < > /.
Célfeltétel Adjon meg egy célfeltételt annak meghatározásához, hogy mely eszközöket célozza meg ez az üzembe helyezés. A feltétel az ikereszköz-címkéken vagy az ikereszköz jelentett tulajdonságain alapul, és meg kell egyeznie a kifejezés formátumával. Például: tags.environment='test' and properties.reported.devicemodel='4000x'
Prioritás Pozitív egész szám. Ha ugyanazon az eszközön két vagy több üzembe helyezés van megcélzva, a prioritás legmagasabb numerikus értékkel rendelkező üzemelő példánya lesz érvényes.

A prioritás megadása után a terminálnak az alábbi ábrához hasonló kimenetnek kell megjelennie:

[Edge] Start deployment with deployment id [{specified-value}] and target condition [{specified-value}]
[Edge] Deployment with deployment id [{specified-value}] succeeded.

Az üzemelő példányok monitorozása és módosítása

Az Azure Portal vagy az Azure CLI használatával figyelheti, módosíthatja és törölheti az üzemelő példányokat. Mindkettő metrikákat biztosít az üzemelő példányokon.

Következő lépések

További információ a modulok IoT Edge-eszközökön való üzembe helyezéséről.