Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:
IoT Edge 1.5
Importante
IoT Edge 1.5 LTS é a versão suportada. O IoT Edge 1.4 LTS atingiu o fim de vida útil a 12 de novembro de 2024. Se estiveres a usar uma versão anterior, vê Update IoT Edge.
O agente IoT Edge e o hub IoT Edge são dois módulos que compõem o runtime do IoT Edge. Para mais informações sobre as responsabilidades de cada módulo de execução, veja compreender o runtime do Azure IoT Edge e a sua arquitetura.
Este artigo fornece as propriedades desejadas e as propriedades relatadas dos gêmeos do módulo de tempo de execução. Para mais informações sobre como implementar módulos em dispositivos IoT Edge, consulte aprenda como implementar módulos e estabelecer rotas em IoT Edge.
Um módulo twin inclui:
Propriedades desejadas. O back-end da solução define as propriedades desejadas e o módulo as lê. O módulo também recebe notificações de alterações nas propriedades desejadas. Utilize as propriedades desejadas juntamente com as propriedades reportadas para sincronizar a configuração ou condições dos módulos.
Propriedades Relatadas O módulo define as propriedades relatadas e o back-end da solução as lê e consulta. Use as propriedades reportadas juntamente com as propriedades desejadas para sincronizar a configuração ou condições do módulo.
Propriedades desejadas do EdgeAgent
O módulo gémeo para o agente IoT Edge chama-se $edgeAgent. Coordena as comunicações entre o agente IoT Edge a correr num dispositivo e o IoT Hub. Defina as propriedades desejadas quando aplica um manifesto de implementação num dispositivo específico como parte de uma implementação de dispositivo único ou em escala.
| Propriedade | Descrição | Obrigatório |
|---|---|---|
imagePullPolicy |
Especifica quando extrair a imagem: OnCreate ou Never. Use Nunca se a imagem já estiver no dispositivo. | Sim |
restartPolicy |
Quando reiniciar o módulo. Os valores possíveis são: Nunca: não reiniciar o módulo se não estiver a funcionar, Sempre: sempre reiniciar o módulo se não estiver a funcionar, On-Unhealthy: reiniciar o módulo se não estiver saudável, On-Failed: reiniciar se Failed. Nota: Apenas Nunca e Sempre estão atualmente implementados. On-Unhealthy e On-Failed são aceites pelo esquema, mas não iniciam um reinício. Para detalhes, consulte IoT Edge limites e restrições. | Sim |
runtime.type |
Deve ser docker. | Sim |
runtime.settings.minDockerVersion |
Especifica a versão mínima do Docker exigida por esse manifesto de implantação. | Sim |
runtime.settings.loggingOptions |
Especifica um JSON formatado como string com as opções de log para o contentor do agente IoT Edge. Saiba mais sobre as opções de registro do Docker. | Não |
runtime.settings.registryCredentials.{registryId}.username |
Especifica o nome de usuário do registro do contêiner. Para o Azure Container Registry, o nome de utilizador é normalmente o nome do registo. As credenciais de registo são necessárias para imagens privadas de módulo. | Não |
runtime.settings.registryCredentials.{registryId}.password |
A senha para o registro do contêiner. | Não |
runtime.settings.registryCredentials.{registryId}.address |
O endereço do registro de contêiner. Para Azure Container Registry, o endereço é geralmente {registry name}.azurecr.io. |
Não |
schemaVersion |
Especifica 1.0 ou 1.1. Recomenda-se a versão 1.1, introduzida com a versão 1.0.10 do IoT Edge. | Sim |
status |
Status desejado do módulo: Em execução ou Parado. | Obrigatório |
systemModules.edgeAgent.type |
Deve ser docker. | Sim |
systemModules.edgeAgent.startupOrder |
Especifica um inteiro para a posição do módulo na ordem de inicialização. 0 é o primeiro e o número inteiro máximo (4294967295) é o último. Se não fornecer um valor, o padrão é o número inteiro máximo. | Não |
systemModules.edgeAgent.settings.image |
Especifica o URI da imagem do agente IoT Edge. O agente IoT Edge não consegue atualizar-se sozinho. | Sim |
systemModules.edgeAgent.settings.createOptions |
Especifica um JSON stringificado com opções para criar o contentor do agente IoT Edge. Saiba mais sobre as opções de criação do Docker. | Não |
systemModules.edgeAgent.configuration.id |
A ID da implantação que implantou este módulo. | O IoT Hub define esta propriedade quando aplica o manifesto através de uma implementação. Não faz parte de um manifesto de implantação. |
systemModules.edgeHub.type |
Deve ser docker. | Sim |
systemModules.edgeHub.status |
Deve estar em execução. | Sim |
systemModules.edgeHub.restartPolicy |
Deve ser sempre. | Sim |
systemModules.edgeHub.startupOrder |
Um valor inteiro que representa a posição que um módulo ocupa na ordem de inicialização. Um 0 é o primeiro e o número inteiro máximo (4294967295) é o último. Se não fornecer um valor, o padrão é o número inteiro máximo. | Não |
systemModules.edgeHub.settings.image |
O URI da imagem do hub IoT Edge. | Sim |
systemModules.edgeHub.settings.createOptions |
Um JSON stringificado contendo as opções para a criação do contentor hub IoT Edge. Opções de criação do Docker | Não |
systemModules.edgeHub.configuration.id |
A ID da implantação que implantou este módulo. | O IoT Hub define esta propriedade quando aplica o manifesto através de uma implementação. Não faz parte de um manifesto de implantação. |
modules.{moduleId}.version |
Uma cadeia de caracteres definida pelo usuário que representa a versão deste módulo. | Sim |
modules.{moduleId}.type |
Deve ser docker. | Sim |
modules.{moduleId}.status |
A correr | parou | Sim |
modules.{moduleId}.restartPolicy |
nunca | Sempre | Sim |
modules.{moduleId}.startupOrder |
Um valor inteiro para o local que um módulo tem na ordem de inicialização. Um 0 é o primeiro e o número inteiro máximo (4294967295) é o último. Se não fornecer um valor, o padrão é o número inteiro máximo. | Não |
modules.{moduleId}.imagePullPolicy |
on-create | nunca | Não |
modules.{moduleId}.env |
Uma lista de variáveis de ambiente a serem passadas para o módulo. Assume o formato "<name>": {"value": "<value>"}. |
Não |
modules.{moduleId}.settings.image |
O URI da imagem do módulo. | Sim |
modules.{moduleId}.settings.createOptions |
Um JSON formatado como string contendo as opções para a criação do container de módulo. Opções de criação do Docker | Não |
modules.{moduleId}.configuration.id |
A ID da implantação que implantou este módulo. | O IoT Hub define esta propriedade quando aplica o manifesto através de uma implementação. Não faz parte de um manifesto de implantação. |
version |
A iteração atual que tem versão, confirmação e compilação. | Não |
Propriedades relatadas do EdgeAgent
As propriedades reportadas pelos agentes IoT Edge incluem três informações principais:
- Estado da aplicação das propriedades desejadas vistas pela última vez,
- Estado dos módulos atualmente a correr no dispositivo, conforme reportado pelo agente IoT Edge, e
- Cópia das propriedades desejadas atualmente em execução no dispositivo.
A cópia das propriedades desejadas atualmente ajuda a determinar se o dispositivo aplicou a última implementação ou se ainda está a executar um manifesto de implementação anterior.
Nota
Pode consultar as propriedades relatadas pelo agente do IoT Edge usando a linguagem de consulta do IoT Hub para investigar o estado da implementação a grande escala. Para obter informações sobre como usar as propriedades do agente IoT Edge para obter o estado, veja Compreender implementações IoT Edge para dispositivos individuais ou em escala.
A tabela seguinte não inclui a informação copiada das propriedades desejadas.
| Propriedade | Descrição |
|---|---|
lastDesiredStatus.code |
Código de estado para as últimas propriedades desejadas vistas pelo agente IoT Edge. Valores permitidos: 200 Êxito, 400 Configuração inválida, 412 Versão inválida do esquema, 417 As propriedades desejadas estão vazias, 500 Falha. |
lastDesiredStatus.description |
Texto de descrição do estado. |
lastDesiredVersion |
Este inteiro refere-se à última versão das propriedades desejadas processadas pelo agente IoT Edge. |
runtime.platform.OS |
Relata o sistema operacional em execução no dispositivo. |
runtime.platform.architecture |
Relata a arquitetura da CPU no dispositivo. |
schemaVersion |
Versão do esquema das propriedades relatadas. |
systemModules.edgeAgent.runtimeStatus |
O estado reportado do agente IoT Edge: { running | unhealthy }. |
systemModules.edgeAgent.statusDescription |
Descrição em texto do estado reportado do agente IoT Edge. |
systemModules.edgeAgent.exitCode |
O código de saída é reportado pelo contentor do agente IoT Edge quando este sai. |
systemModules.edgeAgent.lastStartTimeUtc |
Momento em que o agente IoT Edge foi iniciado pela última vez. |
systemModules.edgeAgent.lastExitTimeUtc |
Hora em que o agente IoT Edge saiu pela última vez. |
systemModules.edgeHub.runtimeStatus |
Estado do hub IoT Edge: { em execução | parado | falhado | recuperação | não saudável }. |
systemModules.edgeHub.statusDescription |
Descrição textual do estado do IoT Edge hub, se estiver não saudável. |
systemModules.edgeHub.exitCode |
Código de saída reportado pelo contentor do hub IoT Edge, caso o contentor saia. |
systemModules.edgeHub.lastStartTimeUtc |
A época em que o hub IoT Edge foi iniciado pela última vez. |
systemModules.edgeHub.lastExitTimeUtc |
Momento em que o hub IoT Edge foi encerrado pela última vez. |
systemModules.edgeHub.lastRestartTimeUtc |
Tempo em que o hub IoT Edge foi reiniciado pela última vez. |
systemModules.edgeHub.restartCount |
Número de vezes que este módulo foi reiniciado como parte da política de reinicialização. |
modules.{moduleId}.runtimeStatus |
Status do módulo: { em execução | parado | falhou | retrocesso | não saudável }. |
modules.{moduleId}.statusDescription |
Descrição em texto do estado do módulo, se estiver com problemas. |
modules.{moduleId}.exitCode |
O código de saída relatado pelo contêiner do módulo, se o contêiner sair. |
modules.{moduleId}.lastStartTimeUtc |
Hora em que o módulo foi iniciado pela última vez. |
modules.{moduleId}.lastExitTimeUtc |
Hora em que o módulo foi encerrado pela última vez. |
modules.{moduleId}.lastRestartTimeUtc |
Hora em que o módulo foi reiniciado pela última vez. |
modules.{moduleId}.restartCount |
Número de vezes que este módulo foi reiniciado como parte da política de reinicialização. |
version |
Versão da imagem. Por exemplo: "version": { "version": "1.2.7", "build": "50979330", "commit": "d3ec971caa0af0fc39d2c1f91aef21e95bd0c03c" }. |
Propriedades desejadas do EdgeHub
O módulo gémeo para um hub IoT Edge chama-se $edgeHub. Coordena as comunicações entre o hub IoT Edge a correr num dispositivo e o IoT Hub. Defina as propriedades desejadas quando aplica um manifesto de implementação num dispositivo específico como parte de uma implementação de dispositivo único ou em escala.
| Propriedade | Descrição | Obrigatório no manifesto de implantação |
|---|---|---|
schemaVersion |
1.0 ou 1.1. A versão 1.1 foi introduzida com a versão 1.0.10 do IoT Edge e é recomendada. | Sim |
routes.{routeName} |
Uma cadeia que representa a rota de um hub IoT Edge. Para obter mais informações, consulte Declarar rotas. | O routes elemento pode estar presente, mas vazio. |
storeAndForwardConfiguration.timeToLiveSecs |
O tempo em segundos que o IoT Edge Hub retém mensagens quando desconectado dos endpoints de roteamento, quer se trate do IoT Hub ou de um módulo local. Este tempo persiste durante qualquer desligamento ou reinicialização. Para obter mais informações, consulte Recursos offline. | Sim |
Propriedades reportadas do EdgeHub
| Propriedade | Descrição |
|---|---|
lastDesiredVersion |
Este número inteiro refere-se à última versão das propriedades desejadas processada pelo hub IoT Edge. |
lastDesiredStatus.code |
O código de estado refere-se às últimas propriedades desejadas vistas pelo hub IoT Edge. Valores permitidos: 200 Sucesso, 400 Configuração inválida, 500 Falhada. |
lastDesiredStatus.description |
Texto de descrição do estado. |
clients |
Todos os clientes conectados ao edgeHub com o estado e a última hora de conexão. Exemplo: "clients": { "device2/SimulatedTemperatureSensor": { "status": "Connected", "lastConnectedTimeUtc": "2022-11-17T21:49:16.4781564Z" } }. |
clients.{device or moduleId}.status |
O estado de conectividade deste dispositivo ou módulo. Valores possíveis: conectados ou desconectados. Somente identidades de módulo podem estar em estado desconectado. Os dispositivos a jusante que se ligam ao hub IoT Edge só aparecem quando ligados. |
clients.{device or moduleId}.lastConnectTime |
Última vez que o dispositivo ou módulo se conectou. |
clients.{device or moduleId}.lastDisconnectTime |
Última vez que o dispositivo ou módulo foi desligado. |
schemaVersion |
Versão do esquema das propriedades relatadas. |
version |
Versão da imagem. Por exemplo: "version": { "version": "1.2.7", "build": "50979330", "commit": "d3ec971caa0af0fc39d2c1f91aef21e95bd0c03c" }. |
Próximos passos
Para informações sobre como usar estas propriedades para construir manifestos de implementação, veja Compreender como módulos IoT Edge podem ser usados, configurados e reutilizados.