Compartilhar via


Arquivo de configuração da Atualização de Dispositivo

O agente de Atualização de Dispositivo para Hub IoT do Azure usa informações de configuração de um arquivo du-config.json no dispositivo. O agente lê o arquivo e relata os seguintes valores para o serviço de Atualização de Dispositivo:

  • AzureDeviceUpdateCore:4.ClientMetadata:4.deviceProperties["manufacturer"]
  • AzureDeviceUpdateCore:4.ClientMetadata:4.deviceProperties["model"]
  • DeviceInformation.manufacturer
  • DeviceInformation.model
  • additionalProperties
  • connectionData
  • connectionType

Para atualizar ou criar o arquivo de configuração du-config.json:

  • Ao instalar o agente do Debian em um dispositivo IoT com um sistema operacional Linux, modifique o arquivo /etc/adu/du-config.json para atualizar os valores.
  • Para um sistema de build Yocto, crie um arquivo JSON na partição adu ou disco chamado /adu/du-config.json.

Valores e campos do arquivo de configuração

Nome Descrição
schemaVersion Versão do esquema que mapeia a versão atual do formato do arquivo de configuração.
aduShellTrustedUsers Lista de usuários que podem iniciar o adu-shell, um programa de agente que executa várias ações de atualização como 'root'. Os manipuladores de atualização de conteúdo padrão da Atualização de Dispositivo invocam o adu-shell para realizar tarefas que exigem privilégios de superusuário, como apt-get install ou executar um script com privilégios.
iotHubProtocol Protocolo usado para se conectar ao Hub IoT do Azure. Os valores aceitos são mqtt ou mqtt/ws. O valor padrão é 'mqtt'.
compatPropertyNames Propriedades usadas para verificar a compatibilidade do dispositivo para direcionar a implantação da atualização. Todos os valores devem ser minúsculos.
fabricante Valor relatado pela interface AzureDeviceUpdateCore:4.ClientMetadata:4 para classificar o dispositivo para direcionar a implantação de atualização.
modelo Valor relatado pela interface AzureDeviceUpdateCore:4.ClientMetadata:4 para classificar o dispositivo para direcionar a implantação de atualização.
additionalProperties Opcional, até cinco propriedades adicionais informadas pelo dispositivo, apenas em minúsculas, a serem usadas para verificação de compatibilidade.
agentes Informações sobre cada agente de Atualização de Dispositivo, incluindo o tipo connectionSource e dados.
name Nome do agente de Atualização de Dispositivo.
runas Identidade do usuário em que executar o agente de Atualização de Dispositivo.
connectionType Tipo de conexão a ser usado para conectar o dispositivo ao Hub IoT. Os valores aceitos são string ou AIS. Use AIS para cenários de produção que usam o Serviço de Identidade IoT para se conectar. Use string para se conectar usando uma cadeia de conexão para fins de teste.
connectionData Dados a serem usados para conectar o dispositivo ao Hub IoT. Se connectionType = "AIS", defina connectionData como uma cadeia de caracteres vazia: "connectionData": "". Se connectionType = "string", forneça a cadeia de conexão do dispositivo ou módulo do seu dispositivo IoT.
fabricante Valor relatado pelo agente de Atualização de Dispositivo como parte da interface DeviceInformation.
modelo Valor relatado pelo agente de Atualização de Dispositivo como parte da interface DeviceInformation.
additionalDeviceProperties Opcional, até cinco propriedades de dispositivo adicionais.
extensionsFolder Opcional, define o caminho para a pasta extensions da Atualização de Dispositivo. O caminho padrão é '/var/lib/adu/extensions'.
downloadsFolder Opcional, define o caminho para a pasta downloads da Atualização de Dispositivo. O caminho padrão é '/var/lib/adu/downloads'.
dataFolder Opcional, define o caminho para a pasta data da Atualização de Dispositivo. O caminho padrão é '/var/lib/adu'. Se você atualizar esse valor no arquivo de configuração, deverá atualizar CheckDataDir() na verificação de gerenciamento de integridade adequadamente.
aduShellFilePath Opcional, define o caminho para o shell da Atualização de Dispositivo. O caminho padrão é '/usr/lib/adu'.
downloadTimeoutInMinutes Opcional, define o tempo limite para o download da atualização em minutos. O valor 0 significa o padrão de 8 horas.

Exemplo de arquivo "du-config.json"

{
  "schemaVersion": "1.1",
  "aduShellTrustedUsers": [
    "adu",
    "do"
  ],
  "iotHubProtocol": "mqtt",
  "compatPropertyNames":"manufacturer,model,location,environment",
  "manufacturer": "contoso",
  "model": "virtual-vacuum-2",
  "agents": [
    {
      "name": "main",
      "runas": "adu",
      "connectionSource": {
        "connectionType": "string",
        "connectionData": "HostName=<hub_name>.azure-devices.net;DeviceId=<device_id>;SharedAccessKey=<device_key>"
      },
      "manufacturer": "contoso",
      "model": "virtual-vacuum-2",
      "additionalDeviceProperties": {
        "location": "usa",
        "environment": "development"
      }
    }
  ]
}