Partilhar via


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

A Atualização de Dispositivo do Azure para o agente do Hub IoT usa informações de configuração de um arquivo de 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["fabricante"]
  • AzureDeviceUpdateCore:4.ClientMetadata:4.deviceProperties["modelo"]
  • DeviceInformation.fabricante
  • DeviceInformation.model
  • additionalProperties
  • connectionData
  • Tipo de conexão

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

  • Quando você instala o agente 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 compilação Yocto, crie um arquivo JSON na adu partição ou disco chamado /adu/du-config.json.

Campos e valores 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 corretagem 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 adu-shell para executar tarefas que exigem privilégio de superusuário, como apt-get install ou executar um script privilegiado.
Protocolo iotHub; Protocolo usado para se conectar ao Hub IoT do Azure. Os valores aceites são mqtt ou mqtt/ws. O valor predefinido é '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 AzureDeviceUpdateCore:4.ClientMetadata:4 pela interface para classificar o dispositivo para direcionar a implantação da atualização.
modelo Valor relatado AzureDeviceUpdateCore:4.ClientMetadata:4 pela interface para classificar o dispositivo para direcionar a implantação da atualização.
additionalProperties Opcional, até mais cinco propriedades reportadas por dispositivo somente em minúsculas para usar na verificação de compatibilidade.
agentes Informações sobre cada agente de Atualização de Dispositivo, incluindo connectionSource tipo e dados.
nome Nome do agente de Atualização de Dispositivo.
runas Identidade do usuário para executar o agente de Atualização de Dispositivo em.
Tipo de conexão Tipo de conexão a ser usado para conectar o dispositivo ao Hub IoT. Os valores aceites são string ou AIS. Use AIS para cenários de produção que usam o IoT Identity Service 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 o connectionData como uma cadeia de caracteres vazia: "connectionData": "". Se connectionType = "string", forneça a cadeia de conexão do dispositivo IoT ou do módulo.
fabricante Valor relatado pelo agente de Atualização de Dispositivo como parte da DeviceInformation interface.
modelo Valor relatado pelo agente de Atualização de Dispositivo como parte da DeviceInformation interface.
additionalDeviceProperties Opcional, até mais cinco propriedades do dispositivo.
extensionsFolder Opcional, define o caminho para a pasta de extensões de Atualização de Dispositivo. O caminho padrão é '/var/lib/adu/extensions'.
downloadsPasta Opcional, define o caminho para a pasta de downloads da Atualização de Dispositivo. O caminho padrão é '/var/lib/adu/downloads'.
dataFolder Opcional, define o caminho para a pasta de dados 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 de acordo.
aduShellFilePath Opcional, define o caminho para o shell de Atualização de Dispositivo. O caminho padrão é '/usr/lib/adu'.
baixarTimeoutInMinutes Opcional, define o tempo limite de download da atualização em minutos. 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"
      }
    }
  ]
}