Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Applies to:
IoT Edge 1.5
Importante
IoT Edge 1.5 LTS é a versão suportada. IoT Edge 1.4 LTS atingiu o fim da vida útil em 12 de novembro de 2024. Se você estiver usando uma versão anterior, consulte Update IoT Edge.
O agente IoT Edge e o hub IoT Edge são dois módulos que compõem o runtime IoT Edge. Para obter mais informações sobre as responsabilidades de cada módulo de runtime, consulte entenda o runtime do Azure IoT Edge e sua arquitetura.
Este artigo fornece as propriedades desejadas e as propriedades relatadas dos módulos gêmeos de runtime. Para obter mais informações sobre como implantar módulos em dispositivos IoT Edge, consulte aprende como implantar módulos e estabelecer rotas em IoT Edge.
Um módulo gêmeo 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. Use as propriedades desejadas 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. Use as propriedades relatadas 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 do agente IoT Edge é chamado $edgeAgent. Ele coordena as comunicações entre o agente IoT Edge em execução em um dispositivo e Hub IoT. Defina as propriedades desejadas 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 |
|---|---|---|
imagePullPolicy |
Especifica quando efetuar o pull da 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 reinicie o módulo se não estiver em execução, em falha: reinicie o módulo se ele sair com um código de saída diferente de zero, não saudável: reinicie o módulo se não estiver saudável (veja a observação), sempre: sempre reinicie o módulo se não estiver em execução.
Nota: A on-failure política reinicia os módulos que saem com um código de saída diferente de zero. A on-unhealthy política é aceita pelo esquema, mas o runtime não deriva atualmente o status não íntegro das verificações de integridade do Docker, portanto, ela não tem efeito prático. Para obter 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 este manifesto de implantação. | Sim |
runtime.settings.loggingOptions |
Especifica um JSON serializado com as opções de registro em log para o contêiner do agente IoT Edge. Saiba mais sobre as opções de log do Docker. | Não |
runtime.settings.registryCredentials.{registryId}.username |
Especifica o nome de usuário do registro de contêiner. Para 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 imagens de módulo privadas. | Não |
runtime.settings.registryCredentials.{registryId}.password |
A senha para o registro de contêiner. | Não |
runtime.settings.registryCredentials.{registryId}.address |
O endereço do registro de contêineres. Para Registro de Contêiner do Azure, o endereço geralmente é {registry name}.azurecr.io. |
Não |
schemaVersion |
Especifica 1.0 ou 1.1. A versão 1.1, introduzida com IoT Edge versão 1.0.10, é recomendada. | 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 inteiro máximo (4294967295) é o último. Se você não fornecer um valor, o padrão será o inteiro máximo. | Não |
systemModules.edgeAgent.settings.image |
Especifica o URI da imagem do agente IoT Edge. O agente de IoT Edge não pode se atualizar sozinho. | Sim |
systemModules.edgeAgent.settings.createOptions |
Especifica um JSON em cadeia de caracteres 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. | Hub IoT define essa propriedade quando você aplica o manifesto usando uma implantaçã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 para o local que um módulo ocupa na ordem de inicialização. 0 é o primeiro e o valor inteiro máximo (4294967295) é o último. Se você não fornecer um valor, o padrão será o inteiro máximo. | Não |
systemModules.edgeHub.settings.image |
O URI da imagem do hub IoT Edge. | Sim |
systemModules.edgeHub.settings.createOptions |
Um JSON com cadeia de caracteres que contém as opções para a criação do contêiner do hub IoT Edge. Opções de criação de docker | Não |
systemModules.edgeHub.configuration.id |
A ID da implantação que implantou este módulo. | Hub IoT define essa propriedade quando você aplica o manifesto usando uma implantação. Não faz parte de um manifesto de implantação. |
modules.{moduleId}.version |
Uma cadeia definida pelo usuário que representa a versão desse módulo. | Sim |
modules.{moduleId}.type |
Deve ser docker. | Sim |
modules.{moduleId}.status |
execução | interrompida | Sim |
modules.{moduleId}.restartPolicy |
Nunca | em caso de falha | não íntegro | Sempre | Sim |
modules.{moduleId}.startupOrder |
Um valor inteiro para o localização em que um módulo ocupa na ordem de inicialização. 0 é o primeiro e o valor inteiro máximo (4294967295) é o último. Se você não fornecer um valor, o padrão será o inteiro máximo. | Não |
modules.{moduleId}.imagePullPolicy |
on-create | Nunca | Não |
modules.{moduleId}.env |
Uma lista de variáveis de ambiente que devem ser passadas para o módulo. Aceita o formato "<name>": {"value": "<value>"}. |
Não |
modules.{moduleId}.settings.image |
O URI para a imagem do módulo. | Sim |
modules.{moduleId}.settings.createOptions |
Um JSON em cadeias de caracteres que contém as opções para a criação do contêiner do módulo. Opções de criação de docker | Não |
modules.{moduleId}.configuration.id |
A ID da implantação que implantou este módulo. | Hub IoT define essa propriedade quando você aplica o manifesto usando uma implantação. Não faz parte de um manifesto de implantação. |
version |
A iteração atual que tem versão, confirmação e build. | Não |
Propriedades relatadas do EdgeAgent
As propriedades relatadas pelo agente IoT Edge incluem três principais tipos de informações:
- O status do aplicativo das propriedades desejadas vistas pela última vez,
- Status dos módulos atualmente em execução no dispositivo, conforme relatado pelo agente 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 se ainda está executando um manifesto de implantação anterior.
Observação
Você pode consultar as propriedades relatadas do agente IoT Edge usando a linguagem de consulta Hub IoT para investigar o status da implantação em escala. Para obter informações sobre como usar as propriedades do agente IoT Edge para status, consulte Compreenda implantações de IoT Edge para dispositivos individuais 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 IoT Edge. Valores permitidos: 200 Êxito, 400 Configuração inválida, 412 Versão do esquema inválido, 417 As propriedades desejadas estão vazias, 500 Falha. |
lastDesiredStatus.description |
A descrição do status em texto. |
lastDesiredVersion |
Esse 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 reportadas. |
systemModules.edgeAgent.runtimeStatus |
O status relatado do agente IoT Edge: { running | unhealthy }. |
systemModules.edgeAgent.statusDescription |
Descrição de texto do status relatado do agente IoT Edge. |
systemModules.edgeAgent.exitCode |
O código de saída relatado pelo contêiner do agente 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 em que o agente IoT Edge saiu pela última vez. |
systemModules.edgeHub.runtimeStatus |
Status do hub IoT Edge: { executando | parado | falhou | retroceder | não saudável }. |
systemModules.edgeHub.statusDescription |
Descrição do status do IoT Edge hub em texto, se estiver com problemas. |
systemModules.edgeHub.exitCode |
Código de saída reportado pelo contêiner do hub IoT Edge, se o contêiner for encerrado. |
systemModules.edgeHub.lastStartTimeUtc |
Hora em que IoT Edge hub foi iniciado pela última vez. |
systemModules.edgeHub.lastExitTimeUtc |
Hora em que IoT Edge hub foi encerrado pela última vez. |
systemModules.edgeHub.lastRestartTimeUtc |
Hora em que IoT Edge hub 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: { running | stopped | failed | backoff | unhealthy }. |
modules.{moduleId}.statusDescription |
Texto de descrição do status do módulo se não estiver íntegro. |
modules.{moduleId}.exitCode |
O código de saída relatado pelo contêiner do módulo se o contêiner for encerrado. |
modules.{moduleId}.lastStartTimeUtc |
Hora em que o módulo foi iniciado pela última vez. |
modules.{moduleId}.lastExitTimeUtc |
Hora em que houve saída do módulo 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 de um hub IoT Edge é chamado $edgeHub. Ele coordena as comunicações entre o hub IoT Edge em execução em um dispositivo e Hub IoT. Defina as propriedades desejadas 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 | Necessárias no manifesto de implantação |
|---|---|---|
schemaVersion |
1.0 ou 1.1. A versão 1.1 foi introduzida com IoT Edge versão 1.0.10 e é recomendável. | Sim |
routes.{routeName} |
Uma cadeia de caracteres que representa uma rota de hub IoT Edge. Para saber mais, consulte Declarar rotas. | O elemento routes pode estar presente mas vazio. |
storeAndForwardConfiguration.timeToLiveSecs |
O período de tempo em segundos que o IoT Edge hub conserva as mensagens, caso esteja desconectado dos pontos de extremidade de roteamento, seja o Hub IoT ou um módulo local. Este tempo persiste em qualquer desligamento ou reinicialização. Para obter mais informações, confira Funcionalidades offline. | Sim |
Propriedades relatadas do EdgeHub
| Propriedade | Descrição |
|---|---|
lastDesiredVersion |
Esse 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 |
A descrição do status em texto. |
clients |
Todos os clientes conectados ao edgeHub com o status e a hora da última conexão. Exemplo: "clients": { "device2/SimulatedTemperatureSensor": { "status": "Connected", "lastConnectedTimeUtc": "2022-11-17T21:49:16.4781564Z" } }. |
clients.{device or moduleId}.status |
O status de conectividade do dispositivo ou do módulo. Valores possíveis: conectados ou desconectados. Somente as identidades de módulo podem estar em estado desconectado. Os dispositivos downstream que se conectam ao hub IoT Edge aparecem somente quando conectados. |
clients.{device or moduleId}.lastConnectTime |
Última vez em que o dispositivo ou o módulo esteve conectado. |
clients.{device or moduleId}.lastDisconnectTime |
Última vez em que o dispositivo ou módulo se desconectou. |
schemaVersion |
Versão do esquema das propriedades reportadas. |
version |
Versão da imagem. Por exemplo: "version": { "version": "1.2.7", "build": "50979330", "commit": "d3ec971caa0af0fc39d2c1f91aef21e95bd0c03c" }. |
Próximas etapas
Para obter informações sobre como usar essas propriedades para criar manifestos de implantação, consulte Conseque como os módulos IoT Edge podem ser usados, configurados e reutilizados.