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

O agente do Azure Device Update para o Hub IoT utiliza informações de configuração de um ficheiro 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 ficheiro 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 processadores predefinidos de atualização de conteúdo do Device Update invocam o adu-shell para executar tarefas que exigem privilégios de superutilizador, como apt-get install ou executar um script com privilégios.
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 comunicado pela interface AzureDeviceUpdateCore:4.ClientMetadata:4 para classificar o dispositivo para efeitos de implementação da atualização.
modelo Valor comunicado pela interface AzureDeviceUpdateCore:4.ClientMetadata:4 para classificar o dispositivo para efeitos de implementaçã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 de utilizador sob a qual executar o agente de Atualização de Dispositivos.
Tipo de conexão Tipo de ligação usado para ligar o dispositivo ao Hub IoT. Os valores aceites são AIS, stringou x509. Use AIS ao utilizar o Serviço de Identidade IoT. Use string para autenticação baseada em cadeia de ligação. Use x509 para autenticação baseada em certificados.
connectionData Dados usados para ligar o dispositivo ao Hub IoT. O formato depende do connectionType:

• Se AIS, defina para uma cadeia vazia: "connectionData": "".
• Se string, forneça a cadeia de ligação do dispositivo ou do módulo do seu dispositivo IoT.
• Se x509, forneça um cadeia de ligação que inclua x509=true (por exemplo: "HostName=<hub>.azure-devices.net;DeviceId=<device>;x509=true").
connectionX509CertFilePath Caminho do ficheiro para o certificado de cliente X.509 utilizado para autenticação. Este campo é necessário quando connectionType é x509.
connectionX509PrivateKeyFilePath Caminho do ficheiro para a chave privada associada ao certificado X.509. Este campo é necessário quando connectionType é x509.
connectionX509CaCertFilePath Caminho do ficheiro para o certificado da autoridade certificadora (CA) usado para validar o certificado do servidor Hub IoT. Este campo é necessário quando connectionType é x509.
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.
propriedadesAdicionaisDoDispositivo Opcional, até mais cinco propriedades do dispositivo.
extensionsFolder Opcional, define o caminho para a pasta de extensões da Atualização de Dispositivo. O caminho padrão é '/var/lib/adu/extensions'.
pastaTransferências Opcional, define o caminho da pasta de transferências da Atualização do Dispositivo. O caminho padrão é '/var/lib/adu/downloads'.
dataFolder Opcional, define o caminho para a pasta de dados do Device Update. O caminho padrão é '/var/lib/adu'. Se atualizar este valor no ficheiro de configuração, tem de atualizar CheckDataDir() na verificação de gestão da integridade em conformidade.
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. O valor 0 corresponde ao valor predefinido 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"
      }
    }
  ]
}