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


Az Azure Blob Storage az IoT Edge-ben modul üzembe helyezése az eszközön

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.

A modulok többféleképpen is üzembe helyezhetők egy IoT Edge-eszközön, és mindegyik az Azure Blob Storage-ban működik IoT Edge-modulokon. A két legegyszerűbb módszer az Azure Portal vagy a Visual Studio Code-sablonok használata.

Előfeltételek

Üzembe helyezés az Azure Portalról

Az Azure Portal végigvezeti egy üzembehelyezési jegyzék létrehozásán és az üzembe helyezés IoT Edge-eszközre való leküldésén.

Az eszköz kiválasztása

  1. Jelentkezzen be az Azure Portalra , és lépjen az IoT Hubra.
  2. Válassza az Eszközök lehetőséget az Eszközfelügyelet menüben.
  3. Válassza ki a cél IoT Edge-eszközt a listából.
  4. Válassza a Modulok beállítása lehetőséget.

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

Az üzembehelyezési jegyzék egy JSON-dokumentum, amely leírja, hogy mely modulokat kell üzembe helyezni, hogyan áramlik az adatforgalom a modulok között, valamint a modul ikerpéldányainak kívánt tulajdonságait. Az Azure Portalon található egy varázsló, amely végigvezeti egy üzembehelyezési jegyzék létrehozásán. Három lépésből áll: modulok, útvonalak és Áttekintés + Létrehozás.

Modulok hozzáadása

  1. A lap IoT Edge-modulok szakaszában válassza a Hozzáadás legördülő menüt, és válassza az IoT Edge-modult az IoT Edge-modul hozzáadása lap megjelenítéséhez.

  2. A Beállítások lapon adja meg a modul nevét, majd adja meg a tárolórendszerkép URI-címét:

    • IoT Edge-modul neve: azureblobstorageoniotedge
    • Kép URI-ja: mcr.microsoft.com/azure-blob-storage:latest

    Képernyőkép az IoT Edge-modul hozzáadása lap Modulbeállítások lapjáról. .

    Ne válassza a Hozzáadás lehetőséget, amíg nem adott meg értékeket a Modulbeállítások, a Tároló létrehozása beállításai és a Modul ikerpéldány-beállításai lapon az eljárásban leírtak szerint.

    Fontos

    Az Azure IoT Edge megkülönbözteti a kis- és nagybetűket, amikor modulokat hív meg, és a Storage SDK is alapértelmezés szerint kisbetűs. Ha kisbetűsre módosítja a nevet, azzal biztosítható, hogy az IoT Edge-en futó Azure Blob Storage-kapcsolat ne szakadjon meg.

  3. Nyissa meg a Tároló létrehozása beállítások lapot.

  4. Másolja és illessze be a következő JSON-t a mezőbe, és adja meg a tárfiók adatait és a tároló csatlakoztatását az eszközön.

    {
      "Env":[
        "LOCAL_STORAGE_ACCOUNT_NAME=<local storage account name>",
        "LOCAL_STORAGE_ACCOUNT_KEY=<local storage account key>"
      ],
      "HostConfig":{
        "Binds":[
            "<mount>"
        ],
        "PortBindings":{
          "11002/tcp":[{"HostPort":"11002"}]
        }
      }
    }
    

    Képernyőkép az IoT Edge-modul hozzáadása lap Tároló létrehozása beállításai lapjáról.

  5. Frissítse a tároló létrehozási beállításaiba másolt JSON-t a következő információkkal:

    • Cserélje le <local storage account name> az megjegyezhető névre. A fiókneveknek 3–24 karakter hosszúnak kell lenniük kisbetűkkel és számokkal. Nincs szóköz.

    • Cserélje le <local storage account key> egy 64 bájtos base64-kulcsra. Létrehozhat egy kulcsot olyan eszközökkel, mint a GeneratePlus. Ezekkel a hitelesítő adatokkal érheti el a blobtárolót más modulokból.

    • Cserélje le <mount> a tároló operációs rendszerének megfelelően. Adja meg egy kötet nevét vagy egy meglévő könyvtár abszolút elérési útját az IoT Edge-eszközön, ahol a blobmodul tárolja az adatokat. A tároló csatlakoztatása leképozza az eszközön azt a helyet, amelyet a modul egy megadott helyére ad meg.

    Linux-tárolók esetén a formátum a <tároló elérési útja vagy kötete>:/blobroot. Példa:

    Fontos

    • Ne módosítsa a tároló csatlakoztatási értékének második felét, amely egy adott helyre mutat az IoT Edge-alapú Blob Storage modulban. A tároló csatlakoztatásának mindig :/blobroot for Linux-tárolókkal kell végződnie.

    • Az IoT Edge nem távolítja el a modultárolókhoz csatolt köteteket. Ez a működés szándékos, mivel lehetővé teszi az adatok megőrzését tárolópéldányok között, például frissítési forgatókönyvek esetében. Ha azonban ezek a kötetek használaton kívül maradnak, akkor a lemezterület elfogyásához, majd rendszerhibákhoz vezethet. Ha docker-köteteket használ a forgatókönyvben, akkor javasoljuk, hogy olyan docker-eszközöket használjon, mint a docker volume prune és a docker volume rm , hogy eltávolítsa a nem használt köteteket, különösen éles helyzetekben.

  6. A Modul ikerbeállításai lapon másolja ki a következő JSON-t, és illessze be a mezőbe.

    {
      "deviceAutoDeleteProperties": {
        "deleteOn": <true, false>,
        "deleteAfterMinutes": <timeToLiveInMinutes>,
        "retainWhileUploading": <true,false>
      },
      "deviceToCloudUploadProperties": {
        "uploadOn": <true, false>,
        "uploadOrder": "<NewestFirst, OldestFirst>",
        "cloudStorageConnectionString": "DefaultEndpointsProtocol=https;AccountName=<your Azure Storage Account Name>;AccountKey=<your Azure Storage Account Key>; EndpointSuffix=<your end point suffix>",
        "storageContainersForUpload": {
          "<source container name1>": {
            "target": "<your-target-container-name>"
          }
        },
        "deleteAfterUpload": <true,false>
      }
    }
    
  7. Konfigurálja az egyes tulajdonságokat a helyőrzők által jelzett megfelelő értékkel. Ha az IoT Edge-szimulátort használja, állítsa az értékeket a deviceToCloudUploadProperties és a deviceAutoDeleteProperties által leírt tulajdonságokhoz kapcsolódó környezeti változókra.

    Tipp.

    A tároló nevének target elnevezési korlátozásai vannak, például az $ előtag használata nem támogatott. Az összes korlátozás megtekintéséhez tekintse meg a tárolóneveket.

    Feljegyzés

    Ha a tárolócél névtelen vagy null értéken belül storageContainersForUploadvan, a rendszer egy alapértelmezett nevet rendel a célhoz. Ha le szeretné állítani a tárolóba való feltöltést, azt teljesen el kell távolítani a tárolóból storageContainersForUpload. További információkért tekintse meg az deviceToCloudUploadProperties Adatok tárolása a peremhálózaton az Azure Blob Storage IoT Edge-en című szakaszát.

    Képernyőkép az IoT Edge-modul hozzáadása lap Modul ikerbeállítások lapjáról.

    A deviceToCloudUploadProperties és a deviceAutoDeleteProperties modul üzembe helyezés utáni konfigurálásáról további információt a Modul ikermoduljának szerkesztése című témakörben talál. A kívánt tulajdonságokról további információt a kívánt tulajdonságok definiálása vagy frissítése című témakörben talál.

  8. Válassza a Hozzáadás lehetőséget.

  9. Válassza a Tovább elemet : Útvonalak az útvonalak szakaszhoz való továbblépéshez.

Útvonalak megadása

Tartsa meg az alapértelmezett útvonalakat, és válassza a Tovább: Áttekintés + létrehozás lehetőséget a felülvizsgálati szakasz folytatásához.

Az üzembe helyezés áttekintése

A felülvizsgálati szakasz az előző két szakaszban megadott beállítások alapján létrehozott JSON üzembehelyezési jegyzékfájlt mutatja be. Két modul is deklarálta, hogy nem adta hozzá: $edgeAgent és $edgeHub. Ez a két modul alkotja az IoT Edge-futtatókörnyezetet , és minden üzemelő példányban kötelező megadni az alapértelmezett beállításokat.

Tekintse át az üzembehelyezési adatokat, majd válassza a Létrehozás lehetőséget.

Az üzembe helyezés ellenőrzése

Az üzembe helyezés létrehozása után visszatér az IoT Hub Eszközök lapjára.

  1. Válassza ki az üzembe helyezéssel megcélzott IoT Edge-eszközt a részletek megnyitásához.
  2. Az eszköz részletei között ellenőrizze, hogy a blobtároló modul az üzembe helyezésben megadott és az eszköz által jelentettként is szerepel-e.

Eltarthat néhány percig, amíg a modul elindul az eszközön, majd visszajelentked az IoT Hubnak. Frissítse a lapot a frissített állapot megtekintéséhez.

Üzembe helyezés a Visual Studio Code-ból

Az Azure IoT Edge sablonokat biztosít a Visual Studio Code-ban a peremhálózati megoldások fejlesztéséhez. Az alábbi lépésekkel hozzon létre egy új IoT Edge-megoldást egy blobtároló modullal, és konfigurálja az üzembehelyezési jegyzéket.

Fontos

Az Azure IoT Edge Visual Studio Code bővítmény karbantartási módban van.

  1. Válassza a Parancskatalógus megtekintése>lehetőséget.

  2. A parancskatalógusban írja be és futtassa az Azure IoT Edge: New IoT Edge solution parancsot.

    Képernyőkép az Új IoT Edge-megoldás futtatásáról.

    Kövesse a parancskatalógusban található utasításokat a megoldás létrehozásához.

    Mező Érték
    Mappa kiválasztása Válassza ki a fejlesztési gép helyét a Visual Studio Code-hoz a megoldásfájlok létrehozásához.
    Provide a solution name (Megoldásnév megadása) Adjon meg egy leíró nevet a megoldásnak, vagy fogadja el az alapértelmezett EdgeSolutiont.
    Select module template (Modulsablon kiválasztása) Válassza a Meglévő modul (Teljes kép URL-címének megadása) lehetőséget.
    Provide a module name (Modulnév megadása) Adjon meg egy teljes kisbetűs nevet a modulhoz, például az azureblobstorageoniotedge nevet.

    Fontos, hogy kisbetűs nevet használjon az Azure Blob Storage-hoz az IoT Edge-modulban. Az IoT Edge megkülönbözteti a kis- és nagybetűket a modulokra való hivatkozáskor, és a Storage SDK alapértelmezés szerint kisbetűs.
    Docker-rendszerkép megadása a modulhoz Adja meg a kép URI-címét: mcr.microsoft.com/azure-blob-storage:latest

    A Visual Studio Code felveszi a megadott adatokat, létrehoz egy IoT Edge-megoldást, majd betölti egy új ablakban. A megoldássablon létrehoz egy üzembehelyezési jegyzéksablont, amely tartalmazza a Blob Storage-modul rendszerképét, de konfigurálnia kell a modul létrehozási beállításait.

  3. Nyissa meg deployment.template.json az új megoldás-munkaterületen, és keresse meg a modulok szakaszt. Végezze el a következő konfigurációs módosításokat:

    1. Másolja és illessze be a következő kódot a createOptions blobtároló modul mezőjébe:

      
      ```json
      "Env":[
       "LOCAL_STORAGE_ACCOUNT_NAME=<local storage account name>",
       "LOCAL_STORAGE_ACCOUNT_KEY=<local storage account key>"
      ],
      "HostConfig":{
        "Binds": ["<mount>"],
        "PortBindings":{
          "11002/tcp": [{"HostPort":"11002"}]
        }
      }
      

      Képernyőkép a Modul createOptions frissítéséről a Visual Studio Code-ban.

  4. Cserélje le <local storage account name> az megjegyezhető névre. A fiókneveknek 3–24 karakter hosszúnak kell lenniük kisbetűkkel és számokkal. Nincs szóköz.

  5. Cserélje le <local storage account key> egy 64 bájtos base64-kulcsra. Létrehozhat egy kulcsot olyan eszközökkel, mint a GeneratePlus. Ezekkel a hitelesítő adatokkal érheti el a blobtárolót más modulokból.

  6. Cserélje le <mount> a tároló operációs rendszerének megfelelően. Adja meg egy kötet nevét vagy az IoT Edge-eszköz egy könyvtárának abszolút elérési útját, ahol a blobmodul tárolni szeretné az adatokat. A tároló csatlakoztatása leképozza az eszközön azt a helyet, amelyet a modul egy megadott helyére ad meg.

    Linux-tárolók esetén a formátum a <tároló elérési útja vagy kötete>:/blobroot. Példa:

    Fontos

    • Ne módosítsa a tároló csatlakoztatási értékének második felét, amely egy adott helyre mutat az IoT Edge-alapú Blob Storage modulban. A tároló csatlakoztatásának mindig :/blobroot for Linux-tárolókkal kell végződnie.

    • Az IoT Edge nem távolítja el a modultárolókhoz csatolt köteteket. Ez a működés szándékos, mivel lehetővé teszi az adatok megőrzését tárolópéldányok között, például frissítési forgatókönyvek esetében. Ha azonban ezek a kötetek használaton kívül maradnak, akkor a lemezterület elfogyásához, majd rendszerhibákhoz vezethet. Ha docker-köteteket használ a forgatókönyvben, akkor javasoljuk, hogy olyan docker-eszközöket használjon, mint a docker volume prune és a docker volume rm , hogy eltávolítsa a nem használt köteteket, különösen éles helyzetekben.

  7. Konfigurálja a deviceToCloudUploadProperties és a deviceAutoDeleteProperties függvényt a modulhoz a következő JSON hozzáadásával a deployment.template.json fájlhoz. Konfigurálja az egyes tulajdonságokat egy megfelelő értékkel, és mentse a fájlt. Ha az IoT Edge-szimulátort használja, állítsa be az értékeket a tulajdonságokhoz kapcsolódó környezeti változókra, amelyeket a deviceToCloudUploadProperties és a deviceAutoDeleteProperties magyarázó szakaszában talál.

    "<your azureblobstorageoniotedge module name>":{
      "properties.desired": {
        "deviceAutoDeleteProperties": {
          "deleteOn": <true, false>,
          "deleteAfterMinutes": <timeToLiveInMinutes>,
          "retainWhileUploading": <true, false>
        },
        "deviceToCloudUploadProperties": {
          "uploadOn": <true, false>,
          "uploadOrder": "<NewestFirst, OldestFirst>",
          "cloudStorageConnectionString": "DefaultEndpointsProtocol=https;AccountName=<your Azure Storage Account Name>;AccountKey=<your Azure Storage Account Key>;EndpointSuffix=<your end point suffix>",
          "storageContainersForUpload": {
            "<source container name1>": {
              "target": "<target container name1>"
            }
          },
          "deleteAfterUpload": <true, false>
        }
      }
    }
    

    Képernyőkép az azureblobstorageoniotedge kívánt tulajdonságainak beállításáról a Visual Studio Code-ban.

    A deviceToCloudUploadProperties és a deviceAutoDeleteProperties modul üzembe helyezés utáni konfigurálásáról további információt a Modul ikermoduljának szerkesztése című témakörben talál. A tároló létrehozási beállításairól, a házirend újraindításáról és a kívánt állapotról további információt az EdgeAgent kívánt tulajdonságai között talál.

  8. Mentse a deployment.template.json fájlt.

  9. Kattintson a jobb gombbal a deployment.template.json , és válassza az IoT Edge üzembehelyezési jegyzék létrehozása lehetőséget.

  10. A Visual Studio Code a deployment.template.json megadott adatokat veszi át, és egy új üzembehelyezési jegyzékfájl létrehozásához használja. Az üzembehelyezési jegyzék egy új konfigurációs mappában jön létre a megoldás-munkaterületen. Miután megkapta a fájlt, kövesse az Azure IoT Edge-modulok Visual Studio Code-ból való üzembe helyezésének vagy az Azure IoT Edge-modulok üzembe helyezésének lépéseit az Azure CLI 2.0-val.

Több modulpéldány üzembe helyezése

Ha az Azure Blob Storage több példányát szeretné üzembe helyezni az IoT Edge-modulon, meg kell adnia egy másik tárolási útvonalat, és módosítania kell azt az HostPort értéket, amelyhez a modul kapcsolódik. A blobtároló modulok mindig az 11002-s portot teszik elérhetővé a tárolóban, de deklarálhatja, hogy melyik porthoz van kötve a gazdagépen.

A Tároló létrehozása beállítások szerkesztése (az Azure Portalon) vagy a createOptions mező (a Visual Studio Code deployment.template.json fájljában) az HostPort érték módosításához:

"PortBindings":{
  "11002/tcp": [{"HostPort":"<port number>"}]
}

Ha további blobtároló modulokhoz csatlakozik, módosítsa a végpontot úgy, hogy a frissített gazdagépportra mutasson.

Proxytámogatás konfigurálása

Ha a szervezet proxykiszolgálót használ, konfigurálnia kell az edgeAgent és az edgeHub futtatókörnyezeti modulok proxytámogatását. Ez a folyamat két feladatot foglal magában:

  • Konfigurálja a futtatókörnyezet démonjait és az IoT Edge-ügynököt az eszközön.
  • Állítsa be a HTTPS_PROXY környezeti változót az üzembehelyezési jegyzék JSON-fájljában lévő modulokhoz.

Ezt a folyamatot az IoT Edge-eszköz konfigurálása proxykiszolgálón keresztüli kommunikációhoz című cikk ismerteti.

Emellett a blobtároló modulhoz szükség van a HTTPS_PROXY beállításra is a jegyzék-üzembehelyezési fájlban. Közvetlenül szerkesztheti az üzembehelyezési jegyzékfájlt, vagy használhatja az Azure Portalt.

  1. Lépjen az IoT Hubra az Azure Portalon, és válassza az Eszközök lehetőséget az Eszközfelügyelet menüben

  2. Válassza ki a konfigurálni kívánt modullal rendelkező eszközt.

  3. Válassza a Modulok beállítása lehetőséget.

  4. A lap IoT Edge-modulok szakaszában válassza ki a blobtároló modult.

  5. Az IoT Edge-modul frissítése lapon válassza a Környezeti változók lapot.

  6. Adja hozzá HTTPS_PROXY az értékhez tartozó nevet és a proxy URL-címét.

    Képernyőkép az IoT Edge-modul frissítése panelről, ahol megadhatja a megadott értékeket.

  7. Válassza a Frissítés, majd a Véleményezés + Létrehozás lehetőséget.

  8. Tekintse meg, hogy a proxy hozzá van adva a modulhoz az üzembehelyezési jegyzékben, és válassza a Létrehozás lehetőséget.

  9. A beállítás ellenőrzéséhez válassza ki a modult az eszköz részleteit tartalmazó lapon, majd az IoT Edge-modulok részletei lap alsó részén válassza a Környezeti változók lapot.

    Képernyőkép a Környezeti változók lapról.

Következő lépések

További információ az Azure Blob Storage-ról az IoT Edge-en.

Az üzembehelyezési jegyzékek működéséről és azok létrehozásáról további információt az IoT Edge-modulok használatának, konfigurálásának és újrafelhasználásának ismertetése című témakörben talál.