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