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