Azure IoT Edge-modules implementeren met Azure CLI
Van toepassing op: IoT Edge 1.5 IoT Edge 1.4
Belangrijk
IoT Edge 1.5 LTS en IoT Edge 1.4 LTS worden ondersteund releases. IoT Edge 1.4 LTS eindigt op 12 november 2024. Raadpleeg IoT Edge bijwerken als u een eerdere versie hebt.
Zodra u Azure IoT Edge-modules met uw bedrijfslogica hebt gemaakt, wilt u deze implementeren op uw apparaten om aan de rand te werken. Als u meerdere modules hebt die samenwerken om gegevens te verzamelen en te verwerken, kunt u ze allemaal tegelijk implementeren. U kunt ook de routeringsregels declareren waarmee deze worden verbonden.
Azure CLI is een opensource-platformoverschrijdend opdrachtregelprogramma voor het beheren van Azure-resources zoals IoT Edge. Hiermee kunt u Azure IoT Hub-resources, device provisioning service-exemplaren en gekoppelde hubs standaard beheren. De nieuwe IoT-extensie verrijkt Azure CLI met functies zoals apparaatbeheer en volledige IoT Edge-functionaliteit.
In dit artikel wordt beschreven hoe u een JSON-implementatiemanifest maakt en vervolgens dat bestand gebruikt om de implementatie naar een IoT Edge-apparaat te pushen. Zie IoT Edge-modules op schaal implementeren en bewaken voor informatie over het maken van een implementatie die is gericht op meerdere apparaten op basis van hun gedeelde tags
Vereisten
Een IoT-hub in uw Azure-abonnement.
Een IoT Edge-apparaat
Als u geen IoT Edge-apparaat hebt ingesteld, kunt u er een maken in een virtuele Azure-machine. Volg de stappen in een van de quickstart-artikelen voor het maken van een virtueel Linux-apparaat of het maken van een virtueel Windows-apparaat.
Azure CLI in uw omgeving. Uw Azure CLI-versie moet minimaal 2.0.70 of hoger zijn. Gebruik
az --version
om de versie te valideren. In deze versie worden az-extensie-opdrachten ondersteund en is voor het eerst het Knack-opdrachtframework opgenomen.
Een implementatiemanifest configureren
Een implementatiemanifest is een JSON-document waarin wordt beschreven welke modules moeten worden geïmplementeerd, hoe gegevens stromen tussen de modules en de gewenste eigenschappen van de moduledubbels. Zie Begrijpen hoe IoT Edge-modules kunnen worden gebruikt, geconfigureerd en hergebruikt voor meer informatie over hoe implementatiemanifesten werken en hoe ze kunnen worden gemaakt.
Als u modules wilt implementeren met behulp van de Azure CLI, slaat u het implementatiemanifest lokaal op als een .json-bestand. U gebruikt het bestandspad in de volgende sectie wanneer u de opdracht uitvoert om de configuratie op uw apparaat toe te passen.
Hier volgt een basisimplementatiemanifest met één module als voorbeeld:
Notitie
In dit voorbeeldimplementatiemanifest wordt schemaversie 1.1 gebruikt voor de IoT Edge-agent en -hub. Schemaversie 1.1 is uitgebracht samen met IoT Edge versie 1.0.10 en maakt functies mogelijk, zoals opstartvolgorde van modules en route-prioriteitstelling.
{
"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
}
}
}
}
}
Uw apparaat implementeren
U implementeert modules op uw apparaat door het implementatiemanifest toe te passen dat u hebt geconfigureerd met de modulegegevens.
Wijzig mappen in de map waarin u het distributiemanifest hebt opgeslagen. Als u een van de IoT Edge-sjablonen van Visual Studio Code hebt gebruikt, gebruikt u het deployment.json
bestand in de configuratiemap van uw oplossingsmap en niet het deployment.template.json
bestand.
Gebruik de volgende opdracht om de configuratie toe te passen op een IoT Edge-apparaat:
az iot edge set-modules --device-id [device id] --hub-name [hub name] --content [file path]
De parameter apparaat-id is hoofdlettergevoelig. De inhoudsparameter verwijst naar het manifestbestand voor de implementatie dat u hebt opgeslagen.
Modules op uw apparaat weergeven
Nadat u modules op uw apparaat hebt geïmplementeerd, kunt u ze allemaal weergeven met de volgende opdracht:
De modules op uw IoT Edge-apparaat bekijken:
az iot hub module-identity list --device-id [device id] --hub-name [hub name]
De parameter apparaat-id is hoofdlettergevoelig.
Volgende stappen
Meer informatie over het implementeren en bewaken van IoT Edge-modules op schaal