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 capazes de iniciar adu-shell, um programa de agente que realiza ações de atualização variadas, como 'root'. Os manipuladores padrão de atualização de conteúdo do Device Update invocam o adu-shell para executar tarefas que exigem privilégios de superusuário, como apt-get install ou executar um script privilegiado.
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 o direcionamento da implantação da atualização.
modelo Valor relatado pela interface AzureDeviceUpdateCore:4.ClientMetadata:4 para classificar o dispositivo para o direcionamento da implantação da 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.
nome Nome do agente de Atualização de Dispositivo.
runas Identidade do usuário sob a qual executar o agente do Device Update.
connectionType Tipo de conexão usado para conectar o dispositivo ao Hub IoT. Os valores aceitos são AIS, stringou x509. Use AIS ao usar o Serviço de Identidade IoT. Use string para autenticação baseada em cadeia de conexão. Use x509 para autenticação baseada em certificado.
connectionData Dados usados para conectar o dispositivo ao Hub IoT. O formato depende do connectionType:

• Se AIS, defina como uma cadeia de caracteres vazia: "connectionData": "".
• Se string, forneça a cadeia de conexão do dispositivo ou do módulo do dispositivo IoT.
• Se x509, forneça um cadeia de conexão que inclua x509=true (por exemplo: "HostName=<hub>.azure-devices.net;DeviceId=<device>;x509=true").
connectionX509CertFilePath Caminho do arquivo do certificado de cliente X.509 usado na autenticação. Esse campo é necessário quando connectionType é x509.
connectionX509PrivateKeyFilePath Caminho do arquivo para a chave privada associada ao certificado X.509. Esse campo é necessário quando connectionType é x509.
connectionX509CaCertFilePath Caminho de arquivo do certificado da CA (autoridade de certificação) usado para validar o certificado do servidor do Hub IoT. Esse campo é necessário quando connectionType é x509.
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 atualizar esse valor no arquivo de configuração, você deverá atualizar CheckDataDir() na verificação do gerenciamento de integridade de acordo.
aduShellFilePath Opcional, define o caminho do shell do Device Update. 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"
      }
    }
  ]
}