Propriedades dos gêmeos do agente do IoT Edge e do módulo do hub do IoT Edge
Aplica-se a: IoT Edge 1.5 IoT Edge 1.4
Importante
IoT Edge 1.5 LTS e IoT Edge 1.4 LTS são versões suportadas. O IoT Edge 1.4 LTS termina a vida útil em 12 de novembro de 2024. Se tiver uma versão anterior, consulte Atualizar IoT Edge.
O agente do IoT Edge e o hub do IoT Edge são dois módulos que compõem o tempo de execução do IoT Edge. Para obter mais informações sobre as responsabilidades de cada módulo de tempo de execução, consulte Compreender o tempo de execução do Azure IoT Edge e sua arquitetura.
Este artigo fornece as propriedades desejadas e as propriedades relatadas dos gêmeos do módulo de tempo de execução. Para obter mais informações sobre como implantar módulos em dispositivos IoT Edge, consulte Saiba como implantar módulos e estabelecer rotas no IoT Edge.
Um módulo twin inclui:
Propriedades desejadas. O back-end da solução pode definir as propriedades desejadas e o módulo pode lê-las. O módulo também pode receber notificações de alterações nas propriedades desejadas. As propriedades desejadas são usadas junto com as propriedades relatadas para sincronizar a configuração ou as condições do módulo.
Propriedades relatadas. O módulo pode definir propriedades relatadas e o back-end da solução pode lê-las e consultá-las. As propriedades relatadas são usadas junto com as propriedades desejadas para sincronizar a configuração ou as condições do módulo.
Propriedades desejadas do EdgeAgent
O módulo gêmeo para o agente IoT Edge é chamado $edgeAgent
e coordena as comunicações entre o agente IoT Edge em execução em um dispositivo e o Hub IoT. As propriedades desejadas são definidas ao aplicar um manifesto de implantação em um dispositivo específico como parte de uma implantação de dispositivo único ou em escala.
Property | Descrição | Obrigatório |
---|---|---|
imagePullPolicy | Quando puxar a imagem em OnCreate ou Never (Nunca pode ser usado se a imagem já estiver no dispositivo) | Sim |
restartPolicy | Quando o módulo deve ser reiniciado. Os valores possíveis são: Nunca: não reinicie o módulo se não estiver em execução, Sempre: sempre reinicie o módulo se não estiver em execução, On-Unhealthy: reinicie o módulo se não estiver íntegro. Não íntegro é o que o Docker relata com base em uma verificação de integridade, por exemplo, "Não íntegro - o contêiner não está funcionando corretamente", On-Failed: restart if Failed. | Sim |
runtime.type | Tem que ser portuário. | Sim |
runtime.settings.minDockerVersion | Defina a versão mínima do Docker exigida por este manifesto de implantação. | Sim |
runtime.settings.loggingOptions | Um JSON stringified contendo as opções de log para o contêiner do agente IoT Edge. Opções de registro do Docker | Não |
runtime.settings.registryCredentials. {registryId}.nome de utilizador | O nome de usuário do registro de contêiner. Para o Registro de Contêiner do Azure, o nome de usuário geralmente é o nome do Registro. As credenciais do Registro são necessárias para qualquer imagem de módulo privado. | Não |
runtime.settings.registryCredentials. {registryId}.password | A senha para o registro do contêiner. | Não |
runtime.settings.registryCredentials. {registryId}.endereço | O endereço do registro de contêiner. Para o Registro de Contêiner do Azure, o endereço geralmente é {nome do Registro}.azurecr.io. | Não |
schemaVersion | 1.0 ou 1.1. A versão 1.1 foi introduzida com o IoT Edge versão 1.0.10 e é recomendada. | Sim |
status | Status desejado do módulo: Em execução ou Parado. | Necessário |
systemModules.edgeAgent.type | Tem que ser portuário. | Sim |
systemModules.edgeAgent.startupOrder | Um valor inteiro para o local que um módulo tem na ordem de inicialização. Um 0 é o primeiro e o inteiro máximo (4294967295) é o último. Se um valor não for fornecido, o padrão será número inteiro máximo. | Não |
systemModules.edgeAgent.settings.image | O URI da imagem do agente IoT Edge. Atualmente, o agente do IoT Edge não pode se atualizar. | Sim |
systemModules.edgeAgent.settings.createOptions | Um JSON stringified contendo as opções para a criação do contêiner do agente IoT Edge. Opções de criação do Docker | Não |
systemModules.edgeAgent.configuration.id | A ID da implantação que implantou este módulo. | O Hub IoT define essa propriedade quando o manifesto é aplicado usando uma implantação. Não faz parte de um manifesto de implantação. |
systemModules.edgeHub.type | Tem que ser portuário. | Sim |
systemModules.edgeHub.status | Tem que estar correndo. | Sim |
systemModules.edgeHub.restartPolicy | Tem que ser sempre. | Sim |
systemModules.edgeHub.startupOrder | Um valor inteiro para o qual um módulo tem na ordem de inicialização. Um 0 é o primeiro e o inteiro máximo (4294967295) é o último. Se um valor não for fornecido, o padrão será 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 stringified contendo as opções para a criação do contêiner do 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 Hub IoT define essa propriedade quando o manifesto é aplicado usando uma implantação. Não faz parte de um manifesto de implantação. |
módulos. {moduleId}.version | Uma cadeia de caracteres definida pelo usuário que representa a versão deste módulo. | Sim |
módulos. {moduleId}.type | Tem que ser portuário. | Sim |
módulos. {moduleId}.status | {execução | interrompida} | Sim |
módulos. {moduleId}.restartPolicy | {nunca | sempre} | Sim |
módulos. {moduleId}.startupOrder | Um valor inteiro para o local que um módulo tem na ordem de inicialização. Um 0 é o primeiro e o inteiro máximo (4294967295) é o último. Se um valor não for fornecido, o padrão será número inteiro máximo. | Não |
módulos. {moduleId}.imagePullPolicy | {on-create | nunca} | Não |
módulos. {moduleId}.env | Uma lista de variáveis de ambiente a serem passadas para o módulo. Assume o formato "<name>": {"value": "<value>"} . |
Não |
módulos. {moduleId}.settings.image | O URI para a imagem do módulo. | Sim |
módulos. {moduleId}.settings.createOptions | Um JSON stringified contendo as opções para a criação do contêiner de módulo. Opções de criação do Docker | Não |
módulos. {moduleId}.configuration.id | A ID da implantação que implantou este módulo. | O Hub IoT define essa propriedade quando o manifesto é aplicado usando uma implantação. Não faz parte de um manifesto de implantação. |
versão | A iteração atual que tem versão, confirmação e compilação. | Não |
Propriedades relatadas do EdgeAgent
As propriedades relatadas pelo agente IoT Edge incluem três informações principais:
- O estado da aplicação dos últimos imóveis desejados;
- O status dos módulos atualmente em execução no dispositivo, conforme relatado pelo agente IoT Edge; e ainda
- Uma cópia das propriedades desejadas atualmente em execução no dispositivo.
A cópia das propriedades desejadas atuais é útil para saber se o dispositivo aplicou a implantação mais recente ou ainda está executando um manifesto de implantação anterior.
Nota
As propriedades relatadas do agente IoT Edge são úteis, pois podem ser consultadas com a linguagem de consulta do Hub IoT para investigar o status de implantações em escala. Para obter mais informações sobre como usar as propriedades do agente do IoT Edge para status, consulte Compreender as implantações do IoT Edge para dispositivos únicos ou em escala.
A tabela a seguir não inclui as informações copiadas das propriedades desejadas.
Property | Description |
---|---|
lastDesiredStatus.code | Esse código de status refere-se às últimas propriedades desejadas vistas pelo agente do 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 | Descrição em texto do estado. |
lastDesiredVersion | Este número inteiro refere-se à última versão das propriedades desejadas processadas pelo agente do IoT Edge. |
runtime.platform.OS | Relatar o sistema operacional em execução no dispositivo. |
runtime.platform.architecture | Relatando a arquitetura da CPU no dispositivo. |
schemaVersion | Versão do esquema das propriedades relatadas. |
systemModules.edgeAgent.runtimeStatus | O status relatado do agente do IoT Edge: {running | unhealthy}. |
systemModules.edgeAgent.statusDescrição | Descrição em texto do status relatado do agente IoT Edge. |
systemModules.edgeAgent.exitCode | O código de saída relatado pelo contêiner do agente do IoT Edge se o contêiner for encerrado. |
systemModules.edgeAgent.lastStartTimeUtc | Hora em que o agente IoT Edge foi iniciado pela última vez. |
systemModules.edgeAgent.lastExitTimeUtc | Hora da última saída do agente IoT Edge. |
systemModules.edgeHub.runtimeStatus | Status do hub IoT Edge: { running | stopped | failed | backoff | unhealthy }. |
systemModules.edgeHub.statusDescrição | Descrição em texto do status do hub IoT Edge, se não estiver íntegro. |
systemModules.edgeHub.exitCode | Código de saída relatado pelo contêiner do hub IoT Edge, se o contêiner for encerrado. |
systemModules.edgeHub.lastStartTimeUtc | Hora em que o hub IoT Edge foi iniciado pela última vez. |
systemModules.edgeHub.lastExitTimeUtc | Hora em que o hub IoT Edge foi encerrado pela última vez. |
systemModules.edgeHub.lastRestartTimeUtc | Hora 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. |
módulos. {moduleId}.runtimeStatus | Status do módulo: { running | stopped | failed | backoff | unhealthy }. |
módulos. {moduleId}.statusDescrição | Descrição em texto do status do módulo, se não estiver íntegro. |
módulos. {moduleId}.exitCode | O código de saída relatado pelo contêiner do módulo, se o contêiner sair. |
módulos. {moduleId}.lastStartTimeUtc | Hora em que o módulo foi iniciado pela última vez. |
módulos. {moduleId}.lastExitTimeUtc | Hora em que o módulo foi encerrado pela última vez. |
módulos. {moduleId}.lastRestartTimeUtc | Hora em que o módulo foi reiniciado pela última vez. |
módulos. {moduleId}.restartCount | Número de vezes que este módulo foi reiniciado como parte da política de reinicialização. |
versão | Versão da imagem. Exemplo: "version": { "version": "1.2.7", "build": "50979330", "commit": "d3ec971caa0af0fc39d2c1f91aef21e95bd0c03c" }. |
Propriedades desejadas do EdgeHub
O módulo gêmeo para o hub IoT Edge é chamado $edgeHub
e coordena as comunicações entre o hub IoT Edge em execução em um dispositivo e o Hub IoT. As propriedades desejadas são definidas ao aplicar um manifesto de implantação em um dispositivo específico como parte de uma implantação de dispositivo único ou em escala.
Property | Description | Obrigatório no manifesto de implantação |
---|---|---|
schemaVersion | 1.0 ou 1.1. A versão 1.1 foi introduzida com o IoT Edge versão 1.0.10 e é recomendada. | Sim |
rotas. {routeName} | Uma cadeia de caracteres que representa uma rota de hub do IoT Edge. Para obter mais informações, consulte Declarar rotas. | O routes elemento pode estar presente, mas vazio. |
storeAndForwardConfiguration.timeToLiveSecs | O tempo do dispositivo, em segundos, que o hub IoT Edge mantém as mensagens se estiver desconectado dos pontos de extremidade de roteamento, seja o Hub IoT ou um módulo local. Este tempo persiste durante qualquer desligamento ou reinicialização. Para obter mais informações, consulte Recursos offline. | Sim |
Propriedades relatadas do EdgeHub
Property | Description |
---|---|
lastDesiredVersion | Este número inteiro refere-se à última versão das propriedades desejadas processadas pelo hub IoT Edge. |
lastDesiredStatus.code | O código de status referente às últimas propriedades desejadas vistas pelo hub IoT Edge. Valores permitidos: 200 Êxito, 400 Configuração inválida, 500 Falha |
lastDesiredStatus.description | Descrição em texto do estado. |
clientes | Todos os clientes conectados ao edgeHub com o status e o último tempo conectado. Exemplo: "clients": { "device2/SimulatedTemperatureSensor": { "status": "Connected", "lastConnectedTimeUtc": "2022-11-17T21:49:16.4781564Z" } }. |
clientes. {device ou moduleId}.status | O estado de conectividade deste dispositivo ou módulo. Valores possíveis {connected | disconnected}. Somente identidades de módulo podem estar em estado desconectado. Os dispositivos downstream que se conectam ao hub IoT Edge aparecem somente quando conectados. |
clientes. {device ou moduleId}.lastConnectTime | Última vez que o dispositivo ou módulo se conectou. |
clientes. {device ou moduleId}.lastDisconnectTime | Última vez que o dispositivo ou módulo foi desligado. |
schemaVersion | Versão do esquema das propriedades relatadas. |
versão | Versão da imagem. Exemplo: "version": { "version": "1.2.7", "build": "50979330", "commit": "d3ec971caa0af0fc39d2c1f91aef21e95bd0c03c" }. |
Próximos passos
Para saber como usar essas propriedades para criar manifestos de implantação, consulte Entender como os módulos do IoT Edge podem ser usados, configurados e reutilizados.