Archivo de configuración de Device Update
El agente de Azure Device Update for IoT Hub usa información de configuración de un archivo du-config.json en el dispositivo. El agente lee el archivo e informa de los siguientes valores al servicio Device Update:
- AzureDeviceUpdateCore:4.ClientMetadata:4.deviceProperties["manufacturer"]
- AzureDeviceUpdateCore:4.ClientMetadata:4.deviceProperties["model"]
- DeviceInformation.manufacturer
- DeviceInformation.model
- additionalProperties
- connectionData
- connectionType
Para actualizar o crear el archivo de configuración du-config.json:
- Al instalar el agente de Debian en un dispositivo IoT con un sistema operativo Linux, modifique el archivo /etc/etc/adu/du-config.json para actualizar los valores.
- Para un sistema de compilación de Yocto, cree un archivo JSON en la partición de
adu
o disco denominado /adu/du-config.json.
Campos y valores del archivo de configuración
Nombre | Descripción |
---|---|
SchemaVersion | La versión del esquema que asigna la versión actual del formato de archivo de configuración. |
aduShellTrustedUsers | La lista de usuarios que pueden iniciar adu-shell, un programa de agente que realiza varias acciones de actualización como 'root' . Los controladores de actualización de contenido predeterminados de Device Update invocan a adu-shell para realizar tareas que requieren privilegios de superusuario, como apt-get install o ejecutar un script con privilegios. |
iotHubProtocol | El protocolo que se usa para conectarse con Azure IoT Hub. Los valores aceptados son mqtt o mqtt/ws . El valor predeterminado es 'mqtt' . |
compatPropertyNames | Las propiedades que se usan para comprobar la compatibilidad del dispositivo con el fin de establecer como destino la implementación de actualizaciones. Todos los valores deben estar en minúsculas. |
fabricante | El valor indicado por la interfaz AzureDeviceUpdateCore:4.ClientMetadata:4 para clasificar el dispositivo y establecer como destino la implementación de la actualización. |
model | El valor indicado por la interfaz AzureDeviceUpdateCore:4.ClientMetadata:4 para clasificar el dispositivo y establecer como destino la implementación de la actualización. |
additionalProperties | Opcional, hasta cinco propiedades notificadas por dispositivo de solo minúsculas más que se usarán para la comprobación de compatibilidad. |
agents | La información sobre cada agente de Device Update, incluidos el tipo de connectionSource y datos. |
nombre | El nombre del agente de Device Update. |
runas | La identidad de usuario en la que se ejecutará el agente de Device Update. |
connectionType | El tipo de conexión que se va a usar para conectar el dispositivo a IoT Hub. Los valores aceptados son string o AIS . Use AIS para escenarios de producción que usan IoT Identity Service para conectarse. Use string para conectarse mediante una cadena de conexión con fines de prueba. |
connectionData | Los datos que se usarán para conectar el dispositivo a IoT Hub. Si connectionType = "AIS" , establezca el connectionData en una cadena vacía: "connectionData": "" . Si connectionType = "string" , proporcione la cadena de conexión del dispositivo o del módulo del dispositivo IoT. |
fabricante | El valor notificado por el agente de Device Update como parte de la interfaz DeviceInformation . |
model | El valor notificado por el agente de Device Update como parte de la interfaz DeviceInformation . |
additionalDeviceProperties | Opcional, hasta cinco propiedades de dispositivo más. |
extensionsFolder | Opcional, establece la ruta de acceso de la carpeta extensiones de Device Update. La ruta de acceso predeterminada es '/var/lib/adu/extensions' . |
downloadsFolder | Opcional, establece la ruta de acceso de la carpeta descargas de Device Update. La ruta de acceso predeterminada es '/var/lib/adu/downloads' . |
dataFolder | Opcional, establece la ruta de acceso de la carpeta datos de Device Update. La ruta de acceso predeterminada es '/var/lib/adu' . Si actualiza este valor en el archivo de configuración, debe actualizar CheckDataDir() en la comprobación de administración de estado en consecuencia. |
aduShellFilePath | Opcional, establece la ruta de acceso para el shell de Device Update. La ruta de acceso predeterminada es '/usr/lib/adu' . |
downloadTimeoutInMinutes | Opcional, establece el tiempo de espera de descarga de actualizaciones en minutos. El valor 0 indica el valor predeterminado de 8 horas. |
Archivo "du-config.json" de ejemplo
{
"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"
}
}
]
}