Dela via


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
  • connectionType

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 vara gemener.
manufacturer Värde som rapporterats av AzureDeviceUpdateCore:4.ClientMetadata:4 gränssnittet för att klassificera enheten för att rikta in sig på uppdateringsdistributionen.
modell Värde som rapporterats av AzureDeviceUpdateCore:4.ClientMetadata:4 gränssnittet för att klassificera enheten för att rikta in sig på uppdateringsdistributionen.
additionalProperties Valfritt, upp till fem fler enhetsrapporterade egenskaper med endast gemener som ska användas för kompatibilitetskontroll.
agents Information om varje enhetsuppdateringsagent, inklusive connectionSource typ och data.
name Namn på enhetsuppdateringsagent.
runas Användaridentitet som enhetsuppdateringsagenten ska köras under.
connectionType Anslutningstyp som ska användas för att ansluta enheten till IoT Hub. Godkända värden är string eller AIS. Använd AIS för produktionsscenarier som använder IoT Identity Service för att ansluta. Använd string för att ansluta med hjälp av en anslutningssträng i testsyfte.
connectionData Data som ska användas för att ansluta enheten till IoT Hub. Om connectionType = "AIS"anger du connectionData till en tom sträng: "connectionData": "". Om connectionType = "string"anger du IoT-enhetens enhet eller modul anslutningssträng.
manufacturer 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.
additionalDeviceProperties 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 för mappen Enhetsuppdatering som laddar ned. Standardsökvägen är '/var/lib/adu/downloads'.
dataFolder Valfritt anger sökvägen för datamappen Enhetsuppdatering. 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"
      }
    }
  ]
}