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
  • tipo de conexión

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 Versión del esquema que se corresponde con la versión actual del formato del archivo de configuración.
aduShellTrustedUsers Lista de usuarios que pueden ejecutar adu-shell, un programa intermediario 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.
modelo 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 más, en minúsculas, que informa el dispositivo para comprobar la compatibilidad.
agentes Información sobre cada agente de Device Update, incluidos el tipo y los datos de connectionSource.
nombre Nombre del agente de Device Update.
runas La identidad de usuario con la que se ejecutará el agente de Device Update.
tipo de conexión Tipo de conexión que se usa para conectar el dispositivo a IoT Hub. Los valores aceptados son AIS, stringo x509. Use AIS al usar IoT Identity Service. Use string para la autenticación basada en cadena de conexión. Use x509 para la autenticación basada en certificados.
connectionData Datos usados para conectar el dispositivo a IoT Hub. El formato depende de connectionType:

• Si AIS, establézcalo en una cadena vacía: "connectionData": "".
• Si string, proporcione la cadena de conexión del dispositivo o del módulo de su dispositivo IoT.
• Si x509, proporcione un cadena de conexión que incluya x509=true (por ejemplo: "HostName=<hub>.azure-devices.net;DeviceId=<device>;x509=true").
connectionX509CertFilePath Ruta del archivo al certificado de cliente X.509 utilizado para la autenticación. Este campo es obligatorio cuando connectionType es x509.
connectionX509PrivateKeyFilePath Ruta de acceso al archivo de la clave privada asociada al certificado X.509. Este campo es obligatorio cuando connectionType es x509.
connectionX509CaCertFilePath Ruta de acceso al archivo del certificado de la entidad de certificación (CA) que se usa para validar el certificado del servidor IoT Hub. Este campo es obligatorio cuando connectionType es x509.
fabricante Valor presentado por el agente de Device Update como parte de la interfaz DeviceInformation.
modelo Valor presentado 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 gestión del 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"
      }
    }
  ]
}