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
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
IoT Hub az Azure-előfizetésben.
IoT Edge-eszköz.
Ha nincs beállítva IoT Edge-eszköz, létrehozhat egyet egy Azure-beli virtuális gépen. A virtuális Linux-eszköz létrehozásához vagy virtuális Windows-eszköz létrehozásához kövesse az egyik rövid útmutatóban szereplő lépéseket.
Azure IoT Edge-bővítmény . A Visual Studio Code-bővítményhez készült Azure IoT Edge-eszközök karbantartási módban használhatók.
Azure IoT Hub-bővítmény , ha a Visual Studio Code-ból telepít.
Ü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
- Jelentkezzen be az Azure Portalra , és lépjen az IoT Hubra.
- Válassza az Eszközök lehetőséget az Eszközfelügyelet menüben.
- Válassza ki a cél IoT Edge-eszközt a listából.
- 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
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.
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
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.
- IoT Edge-modul neve:
Nyissa meg a Tároló létrehozása beállítások lapot.
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"}] } } }
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:
- Kötet csatlakoztatása:
my-volume:/blobroot
- Kötés csatlakoztatása:
/srv/containerdata:/blobroot
. Ügyeljen arra, hogy kövesse azokat a lépéseket, hogy címtár-hozzáférést biztosítson a tárolófelhasználónak
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.
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> } }
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
storageContainersForUpload
van, 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ólstorageContainersForUpload
. További információkért tekintse meg azdeviceToCloudUploadProperties
Adatok tárolása a peremhálózaton az Azure Blob Storage IoT Edge-en című szakaszát.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.
Válassza a Hozzáadás lehetőséget.
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.
- Válassza ki az üzembe helyezéssel megcélzott IoT Edge-eszközt a részletek megnyitásához.
- 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.
Válassza a Parancskatalógus megtekintése>lehetőséget.
A parancskatalógusban írja be és futtassa az Azure IoT Edge: New IoT Edge solution parancsot.
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.
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:
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"}] } }
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 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:
- Kötet csatlakoztatása:
my-volume:/blobroot
- Kötés csatlakoztatása:
/srv/containerdata:/blobroot
. Ügyeljen arra, hogy kövesse azokat a lépéseket, hogy címtár-hozzáférést biztosítson a tárolófelhasználónak
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.
- Kötet csatlakoztatása:
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> } } }
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.
Mentse a deployment.template.json fájlt.
Kattintson a jobb gombbal a deployment.template.json , és válassza az IoT Edge üzembehelyezési jegyzék létrehozása lehetőséget.
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.
Lépjen az IoT Hubra az Azure Portalon, és válassza az Eszközök lehetőséget az Eszközfelügyelet menüben
Válassza ki a konfigurálni kívánt modullal rendelkező eszközt.
Válassza a Modulok beállítása lehetőséget.
A lap IoT Edge-modulok szakaszában válassza ki a blobtároló modult.
Az IoT Edge-modul frissítése lapon válassza a Környezeti változók lapot.
Adja hozzá
HTTPS_PROXY
az értékhez tartozó nevet és a proxy URL-címét.Válassza a Frissítés, majd a Véleményezés + Létrehozás lehetőséget.
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.
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ö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.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: