Compartilhar via


Arquivo de configuração da Atualização de Dispositivo para Hub IoT

O agente da Atualização de Dispositivo obtém suas informações de configuração do arquivo du-config.json no dispositivo. O agente lê esses valores e os relata ao 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

Local do arquivo

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

Lista de campos

Nome Descrição
schemaVersion A versão do esquema que mapeia a versão atual do formato do arquivo de configuração.
aduShellTrustedUsers A lista de usuários que podem iniciar o programa adu-shell. Observe que adu-shell é um programa de agente que realiza várias ações de atualização como "raiz". Os manipuladores de atualização de conteúdo padrão da Atualização de Dispositivo invocam adu-shell para executar tarefas que exigem o privilégio de superusuário. Exemplos de tarefas que exigem esse privilégio são apt-get install ou executar scripts com privilégios.
fabricante Relatado pela interface AzureDeviceUpdateCore:4.ClientMetadata:4 para classificar o dispositivo para direcionar a implantação de atualização.
modelo Relatado pela interface AzureDeviceUpdateCore:4.ClientMetadata:4 para classificar o dispositivo para direcionar a implantação de atualização.
iotHubProtocol Os valores aceitos são mqtt ou mqtt/ws para alterar o protocolo usado para se conectar ao hub IoT. O valor padrão é 'mqtt'
compatPropertyNames Essas propriedades são usadas para verificar a compatibilidade do dispositivo para direcionar a implantação de atualização. Para que todas as propriedades especificadas sejam usadas para compatibilidade, os valores devem estar apenas em letras minúsculas
additionalProperties Campo opcional. Propriedades adicionais relatadas pelo dispositivo podem ser definidas e usadas para verificação de compatibilidade. Limitado a cinco propriedades de dispositivo. Essas propriedades devem ser apenas em letras minúsculas.
connectionType Os valores aceitos são string ou AIS. Use string ao conectar o dispositivo ao Hub IoT manualmente para fins de teste. Para cenários de produção, use AIS ao usar o serviço de identidade de IoT para conectar o dispositivo ao Hub IoT. Para saber mais, confira entender as configurações do Serviço de Identidade IoT.
connectionData Se connectionType = "string", adicione a cadeia de conexão do módulo ou do dispositivo IoT aqui. Se connectionType = "AIS", defina connectionData como uma cadeia de caracteres varia ("connectionData": "").
fabricante Relatado pelo agente da Atualização de Dispositivo como parte da interface DeviceInformation.
modelo Relatado pelo agente da Atualização de Dispositivo como parte da interface DeviceInformation.
extensionsFolder Campo opcional. Isso define o caminho para a pasta Extensões do ADU. O caminho padrão é '/var/lib/adu/extensions'
downloadsFolder Campo opcional. Isso define o caminho para a pasta Downloads do ADU. O caminho padrão é '/var/lib/adu/downloads'
aduShellFilePath Campo opcional. Isso define o caminho para o shell do ADU. O caminho padrão é '/usr/lib/adu'
downloadTimeoutInMinutes Campo opcional. Isso define o tempo limite de download em minutos para o conteúdo da atualização. Um valor zero significa usar o padrão, que é oito horas.

O campo 'Datafolder' pode ser usado para definir o caminho para a pasta dados do ADU. CheckDataDir() na verificação de gerenciamento de integridade precisa ser atualizado para apontar para o valor no arquivo de configuração. Caso contrário, o caminho padrão é '/var/lib/adu' é usado.

Conteúdo do arquivo de exemplo "du-config.json"


{
  "schemaVersion": "1.1",
  "aduShellTrustedUsers": [
    "adu",
    "do"
  ],
  "iotHubProtocol": "mqtt",
  "compatPropertyNames":"manufacturer,model,location,environment" <The property values must be in lower case only>,
  "manufacturer": <Place your device info manufacturer here>,
  "model": <Place your device info model here>,
  "agents": [
    {
      "name": <Place your agent name here>,
      "runas": "adu",
      "connectionSource": {
        "connectionType": "string", //or “AIS”
        "connectionData": <Place your Azure IoT device connection string here>
      },
      "manufacturer": <Place your device property manufacturer here>,
      "model": <Place your device property model here>,
      "additionalDeviceProperties": {
        "location": "usa",
        "environment": "development"
      }
    }
  ]
}