Distribuera Azure IoT Edge-moduler med Azure CLI
Gäller för: IoT Edge 1.5 IoT Edge 1.4
Viktigt!
IoT Edge 1.5 LTS och IoT Edge 1.4 LTS stöds. IoT Edge 1.4 LTS upphör den 12 november 2024. Om du har en tidigare version läser du Uppdatera IoT Edge.
När du har skapat Azure IoT Edge-moduler med din affärslogik vill du distribuera dem till dina enheter för att arbeta vid gränsen. Om du har flera moduler som fungerar tillsammans för att samla in och bearbeta data kan du distribuera dem alla samtidigt. Du kan också deklarera de routningsregler som ansluter dem.
Azure CLI är ett plattformsoberoende kommandoradsverktyg med öppen källkod för hantering av Azure-resurser som IoT Edge. Det gör att du kan hantera Azure IoT Hub-resurser, enhetsetableringstjänstinstanser och länkade hubbar direkt. Det nya IoT-tillägget berikar Azure CLI med funktioner som enhetshantering och fullständig IoT Edge-funktion.
Den här artikeln visar hur du skapar ett JSON-distributionsmanifest och sedan använder den filen för att skicka distributionen till en IoT Edge-enhet. Information om hur du skapar en distribution som riktar sig mot flera enheter baserat på deras delade taggar finns i Distribuera och övervaka IoT Edge-moduler i stor skala
Förutsättningar
En IoT-hubb i din Azure-prenumeration.
En IoT Edge-enhet
Om du inte har konfigurerat en IoT Edge-enhet kan du skapa en på en virtuell Azure-dator. Följ stegen i någon av snabbstartsartiklarna för att skapa en virtuell Linux-enhet eller Skapa en virtuell Windows-enhet.
Azure CLI i din miljö. Azure CLI-versionen måste minst vara 2.0.70 eller senare. Validera med
az --version
. Den här versionen har stöd för az-tilläggskommandon och introducerar kommandoramverket Knack.
Konfigurera ett distributionsmanifest
Ett distributionsmanifest är ett JSON-dokument som beskriver vilka moduler som ska distribueras, hur data flödar mellan modulerna och önskade egenskaper för modultvillingarna. Mer information om hur distributionsmanifest fungerar och hur du skapar dem finns i Förstå hur IoT Edge-moduler kan användas, konfigureras och återanvändas.
Om du vill distribuera moduler med Hjälp av Azure CLI sparar du distributionsmanifestet lokalt som en .json fil. Du använder filsökvägen i nästa avsnitt när du kör kommandot för att tillämpa konfigurationen på enheten.
Här är ett grundläggande distributionsmanifest med en modul som exempel:
Kommentar
Det här exempeldistributionsmanifestet använder schemaversion 1.1 för IoT Edge-agenten och hubben. Schemaversion 1.1 släpptes tillsammans med IoT Edge version 1.0.10 och aktiverar funktioner som modulens startordning och vägprioritering.
{
"content": {
"modulesContent": {
"$edgeAgent": {
"properties.desired": {
"schemaVersion": "1.1",
"runtime": {
"type": "docker",
"settings": {
"minDockerVersion": "v1.25",
"loggingOptions": "",
"registryCredentials": {}
}
},
"systemModules": {
"edgeAgent": {
"type": "docker",
"settings": {
"image": "mcr.microsoft.com/azureiotedge-agent:1.5",
"createOptions": "{}"
}
},
"edgeHub": {
"type": "docker",
"status": "running",
"restartPolicy": "always",
"settings": {
"image": "mcr.microsoft.com/azureiotedge-hub:1.5",
"createOptions": "{\"HostConfig\":{\"PortBindings\":{\"5671/tcp\":[{\"HostPort\":\"5671\"}],\"8883/tcp\":[{\"HostPort\":\"8883\"}],\"443/tcp\":[{\"HostPort\":\"443\"}]}}}"
}
}
},
"modules": {
"SimulatedTemperatureSensor": {
"version": "1.0",
"type": "docker",
"status": "running",
"restartPolicy": "always",
"settings": {
"image": "mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.5",
"createOptions": "{}"
}
}
}
}
},
"$edgeHub": {
"properties.desired": {
"schemaVersion": "1.1",
"routes": {
"upstream": "FROM /messages/* INTO $upstream"
},
"storeAndForwardConfiguration": {
"timeToLiveSecs": 7200
}
}
},
"SimulatedTemperatureSensor": {
"properties.desired": {
"SendData": true,
"SendInterval": 5
}
}
}
}
}
Distribuera till din nya enhet
Du distribuerar moduler till enheten genom att använda distributionsmanifestet som du konfigurerade med modulinformationen.
Ändra kataloger till mappen där du sparade distributionsmanifestet. Om du använde en av Visual Studio Code IoT Edge-mallarna använder deployment.json
du filen i mappen config i lösningskatalogen deployment.template.json
och inte filen.
Använd följande kommando för att tillämpa konfigurationen på en IoT Edge-enhet:
az iot edge set-modules --device-id [device id] --hub-name [hub name] --content [file path]
Enhets-ID-parametern är skiftlägeskänslig. Innehållsparametern pekar på den distributionsmanifestfil som du sparade.
Visa moduler på enheten
När du har distribuerat moduler till enheten kan du visa alla med följande kommando:
Visa modulerna på din IoT Edge-enhet:
az iot hub module-identity list --device-id [device id] --hub-name [hub name]
Enhets-ID-parametern är skiftlägeskänslig.
Nästa steg
Lär dig hur du distribuerar och övervakar IoT Edge-moduler i stor skala