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"
}
}
]
}