Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí na:
IoT Edge 1.6
Důležité
IoT Edge 1.6 LTS je podporovaná verze. Podpora IoT Edge 1.5 LTS končí 10. listopadu 2026; IoT Edge 1.4 LTS dosáhl konce životnosti 12. listopadu 2024. Pokud používáte starší verzi, přečtěte si téma Update IoT Edge.
Agent IoT Edge a centrum IoT Edge jsou dva moduly, které tvoří modul runtime IoT Edge. Další informace o zodpovědnostech jednotlivých modulů modulu runtime najdete v tématu porozumíte Azure IoT Edge runtime a její architektuře.
Tento článek uvádí požadované vlastnosti a hlášené vlastnosti dvojníků modulu runtime. Další informace o tom, jak nasadit moduly na zařízeních IoT Edge, najdete v tématu učnaučte se nasazovat moduly a navazovat trasy v IoT Edge.
Dvojče modulu zahrnuje:
Požadované vlastnosti. Back-end řešení nastaví požadované vlastnosti a modul je přečte. Modul také obdrží oznámení o změnách požadovaných vlastností. K synchronizaci konfigurace nebo podmínek modulu použijte požadované vlastnosti spolu s ohlášenými vlastnostmi.
Ohlášené vlastnosti Modul nastaví ohlášené vlastnosti a back-end řešení je přečte a dotazuje se na ně. K synchronizaci konfigurace nebo podmínek modulu použijte ohlášené vlastnosti spolu s požadovanými vlastnostmi.
Požadované vlastnosti agenta EdgeAgent
Dvojče modulu pro agenta IoT Edge se nazývá $edgeAgent. Koordinuje komunikaci mezi agentem IoT Edge spuštěným na zařízení a IoT Hub. Nastavte požadované vlastnosti při použití manifestu nasazení na konkrétní zařízení jako součást nasazení s jedním zařízením nebo ve velkém měřítku.
| Vlastnost | Popis | Povinné |
|---|---|---|
imagePullPolicy |
Určuje, kdy se má stáhnout obrázek: OnCreate nebo Never. Pokud už je image na zařízení, použijte funkci Nikdy . | Ano |
restartPolicy |
Kdy modul restartujte. Možné hodnoty jsou: nikdy: nerestartovat modul, pokud neběží; při selhání: restartovat modul, pokud se ukončí s nenulovým ukončovacím kódem; při nefunkčnosti: restartovat modul, pokud je nefunkční (viz poznámka); vždy: vždy restartovat modul, pokud není spuštěný.
Poznámka: Zásada on-failure restartuje moduly, které končí s nenulovým ukončovacím kódem. Zásady on-unhealthy jsou přijímány schématem, ale modul runtime v současné době neodvozuje stav, který není v pořádku, z kontrol stavu Dockeru, takže nemá žádný praktický účinek. Podrobnosti najdete v tématu IoT Edge omezení a restrikce. |
Ano |
runtime.type |
Musí to být docker. | Ano |
runtime.settings.minDockerVersion |
Určuje minimální verzi Dockeru vyžadovanou tímto manifestem nasazení. | Ano |
runtime.settings.loggingOptions |
Určuje řetězecifikovaný JSON s možnostmi protokolování pro kontejner agenta IoT Edge. Přečtěte si další informace o možnostech protokolování Dockeru. | Ne |
runtime.settings.registryCredentials.{registryId}.username |
Určuje uživatelské jméno registru kontejneru. Pro Azure Container Registry je uživatelské jméno obvykle názvem registru. Přihlašovací údaje registru jsou vyžadovány pro obrázky modulů privátních. | Ne |
runtime.settings.registryCredentials.{registryId}.password |
Heslo pro registr kontejneru. | Ne |
runtime.settings.registryCredentials.{registryId}.address |
Adresa registru kontejneru. Pro Azure Container Registry je adresa obvykle {registry name}.azurecr.io. |
Ne |
schemaVersion |
Určuje 1.0 nebo 1.1. Doporučuje se verze 1.1, která byla zavedena s IoT Edge verze 1.0.10. | Ano |
status |
Požadovaný stav modulu: Spuštěno nebo Zastaveno | Povinné |
systemModules.edgeAgent.type |
Musí to být docker. | Ano |
systemModules.edgeAgent.startupOrder |
Určuje celé číslo pozice modulu v pořadí spuštění. Hodnota 0 je první a maximální celé číslo (4294967295) je poslední. Pokud nezadáte hodnotu, výchozí hodnota je maximální celé číslo. | Ne |
systemModules.edgeAgent.settings.image |
Určuje identifikátor URI obrazu agenta IoT Edge. Agent IoT Edge nemůže aktualizovat sám sebe. | Ano |
systemModules.edgeAgent.settings.createOptions |
Určuje řetězecifikovaný JSON s možnostmi pro vytvoření kontejneru agenta IoT Edge. Přečtěte si další informace o možnostech vytváření Dockeru. | Ne |
systemModules.edgeAgent.configuration.id |
ID nasazení, které tento modul nasadilo. | IoT Hub tuto vlastnost nastaví, když při nasazení použijete manifest. Není součástí manifestu nasazení. |
systemModules.edgeHub.type |
Musí to být docker. | Ano |
systemModules.edgeHub.status |
Musí být spuštěný. | Ano |
systemModules.edgeHub.restartPolicy |
Musí být vždy. | Ano |
systemModules.edgeHub.startupOrder |
Celočíselná hodnota určující, na jaké pozici je modul v pořadí spuštění. Hodnota 0 je první a maximální celé číslo (4294967295) je poslední. Pokud nezadáte hodnotu, výchozí hodnota je maximální celé číslo. | Ne |
systemModules.edgeHub.settings.image |
Identifikátor URI obrazu centra IoT Edge. | Ano |
systemModules.edgeHub.settings.createOptions |
Řetězecifikovaný JSON obsahující možnosti pro vytvoření kontejneru centra IoT Edge. Možnosti vytvoření Dockeru | Ne |
systemModules.edgeHub.configuration.id |
ID nasazení, které tento modul nasadilo. | IoT Hub tuto vlastnost nastaví, když při nasazení použijete manifest. Není součástí manifestu nasazení. |
modules.{moduleId}.version |
Uživatelem definovaný řetězec představující verzi tohoto modulu. | Ano |
modules.{moduleId}.type |
Musí to být docker. | Ano |
modules.{moduleId}.status |
běžící | zastaveno | Ano |
modules.{moduleId}.restartPolicy |
Nikdy | při chybě | při problémech | vždy | Ano |
modules.{moduleId}.startupOrder |
Celočíselná hodnota pro umístění, které má modul v pořadí spuštění. Hodnota 0 je první a maximální celé číslo (4294967295) je poslední. Pokud nezadáte hodnotu, výchozí hodnota je maximální celé číslo. | Ne |
modules.{moduleId}.imagePullPolicy |
on-create | Nikdy | Ne |
modules.{moduleId}.env |
Seznam proměnných prostředí, které se mají předat modulu. Přijímá formát "<name>": {"value": "<value>"}. |
Ne |
modules.{moduleId}.settings.image |
URI obrázku modulu. | Ano |
modules.{moduleId}.settings.createOptions |
Stringifikovaný JSON obsahující možnosti pro vytvoření kontejneru modulu. Možnosti vytvoření Dockeru | Ne |
modules.{moduleId}.configuration.id |
ID nasazení, které tento modul nasadilo. | IoT Hub tuto vlastnost nastaví, když při nasazení použijete manifest. Není součástí manifestu nasazení. |
version |
Aktuální iterace s verzí, potvrzením a sestavením. | Ne |
Vlastnosti ohlášené agentem EdgeAgent
Zprávy o vlastnostech agenta IoT Edge zahrnují tři hlavní informace:
- Stav aplikace naposledy zobrazených požadovaných vlastností
- Stav modulů aktuálně spuštěných v zařízení podle hlášení agenta IoT Edge a
- Kopie požadovaných vlastností, které jsou aktuálně aktivní na zařízení.
Kopie aktuálních požadovaných vlastností vám pomůže určit, jestli zařízení použilo nejnovější nasazení nebo stále používá předchozí manifest nasazení.
Poznámka:
Můžete dotazovat hlášené vlastnosti agenta IoT Edge pomocí dotazovacího jazyka IoT Hub a prozkoumat tak stav nasazení ve velkém měřítku. Informace o tom, jak používat vlastnosti agenta IoT Edge ke zjištění stavu, najdete v tématu Pochopit nasazení IoT Edge pro jednotlivá zařízení nebo ve velkém měřítku.
Následující tabulka neobsahuje informace zkopírované z požadovaných vlastností.
| Vlastnost | Popis |
|---|---|
lastDesiredStatus.code |
Stavový kód pro poslední požadované vlastnosti, které vidí agent IoT Edge Povolené hodnoty: 200 Úspěch, 400 Neplatná konfigurace, 412 Neplatná verze schématu, 417 Požadované vlastnosti jsou prázdné, 500 Selhání. |
lastDesiredStatus.description |
Textový popis stavu |
lastDesiredVersion |
Toto celé číslo odkazuje na poslední verzi požadovaných vlastností zpracovaných agentem IoT Edge. |
runtime.platform.OS |
Nahlásí operační systém spuštěný na zařízení. |
runtime.platform.architecture |
Zaznamenává architekturu procesoru na zařízení. |
schemaVersion |
Verze schématu ohlášených vlastností |
systemModules.edgeAgent.runtimeStatus |
Hlášený stav agenta IoT Edge: { running | unhealthy }. |
systemModules.edgeAgent.statusDescription |
Textový popis hlášeného stavu agenta IoT Edge. |
systemModules.edgeAgent.exitCode |
Ukončovací kód, který kontejner agenta IoT Edge hlásí při ukončení kontejneru. |
systemModules.edgeAgent.lastStartTimeUtc |
Čas posledního spuštění agenta IoT Edge |
systemModules.edgeAgent.lastExitTimeUtc |
Čas posledního ukončení agenta IoT Edge |
systemModules.edgeHub.runtimeStatus |
Stav centra IoT Edge: { běží | zastaveno | selhalo | návrat | nezdravé }. |
systemModules.edgeHub.statusDescription |
Textový popis stavu centra IoT Edge, pokud není v pořádku. |
systemModules.edgeHub.exitCode |
Kód ukončení, který je hlášen kontejnerem uzlu IoT Edge, pokud se kontejner ukončí. |
systemModules.edgeHub.lastStartTimeUtc |
Čas posledního spuštění centra IoT Edge |
systemModules.edgeHub.lastExitTimeUtc |
Čas, kdy bylo centrum IoT Edge naposledy ukončeno. |
systemModules.edgeHub.lastRestartTimeUtc |
Čas posledního restartování centra IoT Edge |
systemModules.edgeHub.restartCount |
Počet restartů modulu v rámci politiky restartu. |
modules.{moduleId}.runtimeStatus |
Stav modulu: { spuštěno | zastaveno | selháno | záložní stav | nefunkční }. |
modules.{moduleId}.statusDescription |
Textový popis stavu modulu, pokud není v pořádku. |
modules.{moduleId}.exitCode |
Ukončovací kód hlášený kontejnerem modulu, pokud kontejner ukončí svou činnost. |
modules.{moduleId}.lastStartTimeUtc |
Čas posledního spuštění modulu |
modules.{moduleId}.lastExitTimeUtc |
Čas posledního ukončení modulu |
modules.{moduleId}.lastRestartTimeUtc |
Čas posledního restartování modulu |
modules.{moduleId}.restartCount |
Počet restartů modulu v rámci politiky restartu. |
version |
Verze obrazu Například: "version": { "version": "1.2.7", "build": "50979330", "commit": "d3ec971caa0af0fc39d2c1f91aef21e95bd0c03c" }. |
Požadované vlastnosti EdgeHubu
Dvojče modulu pro centrum IoT Edge se nazývá $edgeHub. Koordinuje komunikaci mezi centrem IoT Edge spuštěným na zařízení a IoT Hub. Nastavte požadované vlastnosti při použití manifestu nasazení na konkrétní zařízení jako součást nasazení s jedním zařízením nebo ve velkém měřítku.
| Vlastnost | Popis | Požadováno v manifestu nasazení |
|---|---|---|
schemaVersion |
Buď 1.0, nebo 1.1. Verze 1.1 byla zavedena s IoT Edge verze 1.0.10 a doporučuje se. | Ano |
routes.{routeName} |
Řetězec představující trasu centra IoT Edge. Další informace naleznete v tématu Deklarování tras. | Prvek routes může být přítomný, ale prázdný. |
storeAndForwardConfiguration.timeToLiveSecs |
Doba v sekundách, po kterou IoT Edge hub uchovává zprávy, pokud je odpojen od koncových bodů směrování, ať už se jedná o IoT Hub nebo místní modul. Tento čas přetrvává po všech vypnutích nebo restartováních. Další informace najdete v tématu Možnosti offline. | Ano |
Proměnné prostředí EdgeHub
Některé chování centra IoT Edge můžete ladit nastavením proměnných prostředí v $edgeHub modulu v manifestu nasazení. Následující proměnné určují, jak centrum IoT Edge aktualizuje mezipaměť oboru zařízení, kterou používá k místnímu ověření podřízených zařízení a modulů.
| Proměnná prostředí | Popis |
|---|---|
DeviceScopeCacheRefreshRateSecs |
Jak často (v sekundách) IoT Edge hub aktualizuje mezipaměť zařízení a modulů v jeho rozsahu jejich výčtem z IoT Hubu. Výchozí hodnota je 3600 (jedna hodina). V centru s mnoha IoT Edge zařízeními můžou kombinované operace aktualizace rozsahu ze všech zařízení významně přispět k využití operací identit centra. Zvýšení této hodnoty snižuje zatížení úměrně. Další informace viz Byla překročena kvóta operací identity v IoT Hubu u rozsáhlé flotily zařízení. |
DeviceScopeCacheRefreshDelaySecs |
Minimální doba v sekundách, po kterou centrum IoT Edge čeká, než znovu aktualizuje jednu identitu na vyžádání. Výchozí hodnota je 120. Toto nastavení omezuje, jak často se stejná identita při připojování klientů aktualizuje v rychlém sledu. |
Ohlášené vlastnosti EdgeHubu
| Vlastnost | Popis |
|---|---|
lastDesiredVersion |
Toto celé číslo odkazuje na poslední verzi požadovaných vlastností zpracovaných centrem IoT Edge. |
lastDesiredStatus.code |
Stavový kód odkazující na poslední požadované vlastnosti, které vidíte v centru IoT Edge. Povolené hodnoty: 200 Úspěch, 400 Neplatná konfigurace, 500 Selhání. |
lastDesiredStatus.description |
Textový popis stavu |
clients |
Všichni klienti připojení k EdgeHubu se stavem a časem posledního připojení. Příklad: "clients": { "device2/SimulatedTemperatureSensor": { "status": "Connected", "lastConnectedTimeUtc": "2022-11-17T21:49:16.4781564Z" } }. Podrobnosti o tom, která připojení se zobrazují v této vlastnosti, najdete v článku Která připojení se zobrazují v clients. |
clients.{device or moduleId}.status |
Stav připojení tohoto zařízení nebo modulu Možné hodnoty: připojeno nebo odpojeno. V odpojeném stavu můžou být pouze identity modulů. Podřízená zařízení, která se připojují k IoT Edge rozbočovači, se zobrazí pouze, když jsou připojena. |
clients.{device or moduleId}.lastConnectTime |
Čas posledního připojení zařízení nebo modulu |
clients.{device or moduleId}.lastDisconnectTime |
Čas posledního odpojení zařízení nebo modulu |
schemaVersion |
Verze schématu ohlášených vlastností |
version |
Verze obrazu Například: "version": { "version": "1.2.7", "build": "50979330", "commit": "d3ec971caa0af0fc39d2c1f91aef21e95bd0c03c" }. |
Která připojení se zobrazují v clients
Ohlášená clients vlastnost obsahuje seznam všech samostatných logických připojení, které místní edgeHub obsluhuje, s výjimkou vlastní $edgeHub identity. Konkrétně:
-
Moduly na stejném hraničním zařízení se zobrazují jako
<deviceId>/<moduleName>. To zahrnuje$edgeAgent, protože místní agent edgeAgent se připojuje přes místní edgeHub. -
Následná podřízená zařízení IoT Edge se zobrazí jako
<childDeviceId>/$edgeHuba<childDeviceId>/$edgeAgent. Není zde žádná samostatná položka<childDeviceId>. Připojení dítěte$edgeHubje "vlastní připojení zařízení" odkazované v počtu připojených klientů v hierarchii brány. -
Podřazená koncová zařízení (zařízení, která nejsou IoT Edge) se zobrazují jako
<deviceId>bez přípony modulu. - Vlastní identita místního edgeHubu (
<deviceId>/$edgeHub) je záměrně vynechána, aby se zabránilo odkazu na sebe sama.
Když se modul odpojí, jeho položka zůstane v clients se stavem Disconnected. Když se podřízené zařízení odpojí, jeho vstup se odebere z clients. Počet viditelných položek se rovná počtu plánovanému pro MaxConnectedClients. Neexistuje žádné skryté další připojení.
Další kroky
Informace o tom, jak tyto vlastnosti použít k sestavení manifestů nasazení, najdete v tématu Podstatu, jak lze používat, konfigurovat a opakovaně používat moduly IoT Edge.