Konfigurationsfil för enhetsuppdatering

Azure Device Update för IoT Hub-agenten använder konfigurationsinformation från en du-config.json fil på enheten. Agenten läser filen och rapporterar följande värden till enhetsuppdateringstjänsten:

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

Så här uppdaterar eller skapar du konfigurationsfilen för du-config.json :

  • När du installerar Debian-agenten på en IoT-enhet med ett Linux-operativsystem ändrar du filen /etc/adu/du-config.json för att uppdatera värdena.
  • För ett Yocto-byggsystem skapar du en JSON-fil i partitionen eller disken adu med namnet /adu/du-config.json.

Fält och värden för konfigurationsfilen

Name beskrivning
SchemaVersion Schemaversion som mappar den aktuella versionen av konfigurationsfilformatet.
aduShellTrustedUsers Lista över användare som kan starta adu-shell, ett koordinatorprogram som utför olika uppdateringsåtgärder som 'root'. Enhetsuppdateringens standardhanterare för innehållsuppdateringar anropar adu-shell för att utföra uppgifter som kräver superanvändarbehörighet, till exempel apt-get install eller körning av ett privilegierat skript.
iotHubProtocol Protokoll som används för att ansluta till Azure IoT Hub. Godkända värden är mqtt eller mqtt/ws. Standardvärdet är 'mqtt'.
compatPropertyNames Egenskaper som används för att söka efter enhetskompatibilitet för att rikta in sig på uppdateringsdistributionen. Alla värden måste skrivas med gemener.
tillverkare Värde som rapporteras av gränssnittet AzureDeviceUpdateCore:4.ClientMetadata:4 för att klassificera enheten så att distributionen av uppdateringen kan riktas till rätt enheter.
modell Värde som rapporteras av gränssnittet AzureDeviceUpdateCore:4.ClientMetadata:4 för att klassificera enheten för att rikta distributionen av uppdateringen.
additionalProperties Valfritt, upp till fem ytterligare egenskaper som rapporteras av enheten och som endast får innehålla gemener, att använda för kompatibilitetskontroll.
agenter Information om varje enhetsuppdateringsagent, inklusive connectionSource typ och data.
namn Namn på enhetsuppdateringsagent.
runas Användaridentitet som enhetsuppdateringsagenten ska köras under.
anslutningstyp Anslutningstyp som används för att ansluta enheten till IoT Hub. Godkända värden är AIS, stringeller x509. Använd AIS när du använder IoT Identity Service. Använd string för reťazec pripojenia-baserad autentisering. Används x509 för certifikatbaserad autentisering.
connectionData Data som används för att ansluta enheten till IoT Hub. Formatet beror på connectionType:

• Om AIS, ange en tom sträng: "connectionData": "".
• Om string, anger du IoT-enhetens anslutningssträng för enheten eller modulen.
• Om x509 anger du en reťazec pripojenia som innehåller x509=true (till exempel: "HostName=<hub>.azure-devices.net;DeviceId=<device>;x509=true").
connectionX509CertFilePath Filsökväg till X.509-klientcertifikatet som används för autentisering. Det här fältet krävs när connectionType är x509.
connectionX509PrivateKeyFilePath Filsökväg till den privata nyckel som är associerad med X.509-certifikatet. Det här fältet krävs när connectionType är x509.
connectionX509CaCertFilePath Filsökväg till certifikatutfärdarcertifikatet (CA) som används för att verifiera IoT Hub-servercertifikatet. Det här fältet krävs när connectionType är x509.
tillverkare Värde som rapporteras av enhetsuppdateringsagenten DeviceInformation som en del av gränssnittet.
modell Värde som rapporteras av enhetsuppdateringsagenten DeviceInformation som en del av gränssnittet.
ytterligareEnhetsegenskaper Valfritt, upp till fem enhetsegenskaper till.
extensionsFolder Valfritt, anger sökvägen för mappen Enhetsuppdateringstillägg. Standardsökvägen är '/var/lib/adu/extensions'.
downloadsFolder Valfritt, anger sökvägen till Device Update-mappen downloads. Standardsökvägen är '/var/lib/adu/downloads'.
dataFolder Valfritt, anger sökvägen till Device Update-datamappen. Standardsökvägen är '/var/lib/adu'. Om du uppdaterar det här värdet i konfigurationsfilen måste du uppdatera CheckDataDir() i hälsohanteringskontrollen i enlighet med detta.
aduShellFilePath Valfritt, anger sökvägen för enhetsuppdateringsgränssnittet. Standardsökvägen är '/usr/lib/adu'.
downloadTimeoutInMinutes Valfritt anger tidsgränsen för uppdateringsnedladdning i minuter. Värde 0 innebär standardvärdet 8 timmar.

Exempelfil för "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"
      }
    }
  ]
}