Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a:
IoT Edge 1.5
Importante
O IoT Edge 1.5 LTS é a versão suportada. O IoT Edge 1.4 LTS está em fim de vida útil a partir de 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 define as propriedades desejadas e o módulo as lê. O módulo também recebe 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 define as propriedades relatadas e o back-end da solução as lê e consulta. 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. Ele coordena as comunicações entre o agente do 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.
| Propriedade | Descrição | Obrigatório |
|---|---|---|
| PolíticaDeObtençãoDeImagens | Especifica quando extrair a imagem: OnCreate ou Never. Use Nunca se a imagem já estiver no dispositivo. | Sim |
| política de reinício | 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 saudável é o que o Docker relata com base numa verificação de integridade, por exemplo, "Não saudável - o contêiner não está funcionando corretamente", On-Failed: reiniciar se falhar. | 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 convertido em string com as opções de registo para o contentor do agente do IoT Edge. Saiba mais sobre as opções de registro do Docker. | Não |
| runtime.settings.registryCredentials. {registryId}.nome de utilizador | Especifica o nome de usuário do registro do contêiner. Para o Registro de Contêiner do Azure, o nome de usuário geralmente é o nome do Registro. 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}.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 | Especifica 1.0 ou 1.1. A versão 1.1, introduzida com o IoT Edge versão 1.0.10, é recomendada. | Sim |
| estado | Status desejado do módulo: Em execução ou Parado. | Obrigatório |
| systemModules.edgeAgent.type | Tem que ser portuário. | 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 nenhum valor for fornecido, o padrão será número inteiro máximo. | Não |
| systemModules.edgeAgent.settings.image | Especifica o URI da imagem do agente do IoT Edge. O agente do IoT Edge não pode se atualizar. | Sim |
| systemModules.edgeAgent.settings.createOptions | Especifica um JSON stringified com opções para criar o contêiner 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 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.estado | 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:
- Estado da aplicação das propriedades desejadas vistas pela última vez,
- Status dos módulos atualmente em execução no dispositivo, conforme relatado pelo agente do IoT Edge e
- Cópia das propriedades desejadas atualmente em execução no dispositivo.
A cópia das propriedades desejadas atuais ajuda a determinar se o dispositivo aplicou a implantação mais recente ou ainda está executando um manifesto de implantação anterior.
Nota
Você pode consultar as propriedades relatadas do agente do IoT Edge com a linguagem de consulta do Hub IoT para investigar o status da implantação em escala. Saiba como usar as propriedades do agente do IoT Edge para status em 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.
| Propriedade | Descrição |
|---|---|
| lastDesiredStatus.code | Código de status para as ú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. |
| descriçãoDoÚltimoEstadoDesejado | Descrição em texto do estado. |
| últimaVersãoDesejada | Este número inteiro refere-se à última versão das propriedades desejadas processadas pelo agente do 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 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.códigoDeSaída | 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: { | 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: { | 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.
| Propriedade | Descrição | 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
| Propriedade | Descrição |
|---|---|
| últimaVersãoDesejada | 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 |
| descriçãoDoÚltimoEstadoDesejado | 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.