Configuratiebestand voor apparaatupdate

De Azure Device Update voor IoT Hub-agent maakt gebruik van configuratiegegevens uit een du-config.json-bestand op het apparaat. De agent leest het bestand en rapporteert de volgende waarden aan de Device Update-service:

  • AzureDeviceUpdateCore:4.ClientMetadata:4.deviceProperties["manufacturer"]
  • AzureDeviceUpdateCore:4.ClientMetadata:4.deviceProperties["model"]
  • DeviceInformation.manufacturer
  • DeviceInformation.model
  • additionalProperties
  • connectionData
  • verbindingstype

Het du-config.json-configuratiebestand bijwerken of maken:

  • Wanneer u de Debian-agent installeert op een IoT-apparaat met een Linux-besturingssysteem, wijzigt u het bestand /etc/adu/du-config.json om de waarden bij te werken.
  • Maak voor een Yocto-buildsysteem een JSON-bestand in de partitie of schijf met de adu naam /adu/du-config.json.

Configuratiebestandvelden en -waarden

Name Beschrijving
SchemaVersion Schemaversie die overeenkomt met de huidige versie van de configuratiebestandsindeling.
aduShellTrustedUsers Lijst met gebruikers die adu-shell kunnen starten, een brokerprogramma dat verschillende updateacties uitvoert als 'root'. De standaard-handlers voor inhoudsupdates van Device Update roepen adu-shell aan om taken uit te voeren waarvoor supergebruikersbevoegdheden zijn vereist, zoals apt-get install of het uitvoeren van een bevoegd script.
iotHubProtocol Protocol dat wordt gebruikt om verbinding te maken met Azure IoT Hub. Geaccepteerde waarden zijn mqtt of mqtt/ws. De standaardwaarde is 'mqtt'.
compatPropertyNames Eigenschappen die worden gebruikt om te controleren of apparaten compatibel zijn voor het gericht implementeren van de update. Alle waarden moeten kleine letters bevatten.
fabrikant Waarde die door de AzureDeviceUpdateCore:4.ClientMetadata:4-interface wordt gerapporteerd om het apparaat te classificeren voor de uitrol van de update.
model Waarde die door de AzureDeviceUpdateCore:4.ClientMetadata:4-interface wordt gerapporteerd om het apparaat te classificeren voor de uitrol van de update.
additionalProperties Optioneel, nog maximaal vijf extra door het apparaat gerapporteerde eigenschappen die alleen kleine letters bevatten, te gebruiken voor compatibiliteitscontrole.
agenten Informatie over elke Device Update-agent, inclusief connectionSource type en gegevens.
naam De naam van de Device Update-agent.
runas Gebruikersidentiteit waaronder de Device Update-agent wordt uitgevoerd.
verbindingstype Verbindingstype dat wordt gebruikt om het apparaat te verbinden met IoT Hub. Geaccepteerde waarden zijn AIS, stringof x509. Gebruik AIS wanneer u de IoT Identity Service gebruikt. Gebruik string voor verificatie op basis van verbindingsreeks. Gebruiken x509 voor verificatie op basis van certificaten.
connectionData Gegevens die worden gebruikt om het apparaat te verbinden met IoT Hub. De indeling is afhankelijk van de connectionType:

• Als AIS is ingesteld op een lege tekenreeks: "connectionData": "".
• Als string, geef de verbindingsreeks van het apparaat of de module van uw IoT-apparaat op.
• Als x509, geef dan een verbindingsreeks op die x509=true bevat (bijvoorbeeld: "HostName=<hub>.azure-devices.net;DeviceId=<device>;x509=true").
connectionX509CertFilePath Bestandspad naar het X.509-clientcertificaat dat wordt gebruikt voor verificatie. Dit veld is vereist wanneer connectionType dit is x509.
connectionX509PrivateKeyFilePath Bestandspad naar de persoonlijke sleutel die is gekoppeld aan het X.509-certificaat. Dit veld is vereist wanneer connectionType dit is x509.
connectionX509CaCertFilePath Bestandspad naar het certificaatautoriteit (CA)-certificaat dat wordt gebruikt om het servercertificaat van IoT Hub te valideren. Dit veld is vereist wanneer connectionType dit is x509.
fabrikant De waarde die door de Device Update-agent wordt gerapporteerd als onderdeel van de DeviceInformation interface.
model De waarde die door de Device Update-agent wordt gerapporteerd als onderdeel van de DeviceInformation interface.
extraApparaateigenschappen Optioneel, maximaal vijf apparaateigenschappen.
extensionsFolder Optioneel stelt u het pad in voor de map Device Update-extensies. Het standaardpad is het '/var/lib/adu/extensions'.
downloadsFolder Optioneel, stelt u het pad in voor de map Device Update-downloads. Het standaardpad is het '/var/lib/adu/downloads'.
dataFolder Optioneel stelt u het pad in voor de gegevensmap Device Update. Het standaardpad is het '/var/lib/adu'. Als u deze waarde in het configuratiebestand bijwerkt, moet u CheckDataDir() dienovereenkomstig bijwerken in de controle van statusbeheer.
aduShellFilePath Optioneel, stelt het pad voor de Device Update-shell in. Het standaardpad is het '/usr/lib/adu'.
downloadTimeoutInMinutes Hiermee stelt u de time-out voor het downloaden van de update in minuten in. Waarde 0 betekent de standaardwaarde van 8 uur.

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