Verstehen der Projektstruktur
Im Folgenden werden die hervorgehobenen Abschnitte des Projekts beschrieben, die im GitHub-Repository verfügbar sind.
Es gibt zwei Module:
- CameraCaptureOpenCV
- ImageClassifierService
Die module.json Datei definiert den Docker-Buildprozess, die Modulversion und Ihre Docker-Registrierung. Aktualisieren der Versionsnummer, Pushen des aktualisierten Moduls an eine Imageregistrierung und Aktualisieren des Bereitstellungsmanifests für ein Edgegerät lösen die Azure IoT Edge-Laufzeit aus, um das neue Modul auf das Edgegerät zu ziehen.
Der Buildprozess verwendet die deployment.template.json Datei. Es definiert, welche Module erstellt werden sollen, welche Nachrichtenrouten eingerichtet werden sollen und welche Version der IoT Edge-Laufzeit ausgeführt werden soll.
Die deployment.json Datei wird aus dem deployment.template.json generiert und ist das Bereitstellungsmanifest.
Die version.py im Projektstammordner ist eine Hilfs-App, die Sie auf Ihrem Entwicklungscomputer ausführen können, der die Versionsnummer jedes Moduls aktualisiert. Nützlich, da eine Änderung der Versionsnummer Azure IoT Edge-Runtime dazu veranlasst, das aktualisierte Modul abzurufen, und es leicht zu vergessen ist, die Modulversionsnummern zu ändern.