Verstehen der Projektstruktur
Im Folgenden werden die hervorgehobenen Abschnitte des Projekts beschrieben, die im GitHub-Repository verfügbar sind.
Es sind zwei Module verfügbar:
- CameraCaptureOpenCV
- ImageClassifierService
Mit der Datei module.json werden der Docker-Buildprozess, die Modulversion und Ihre Docker-Registrierung festgelegt. Das Aktualisieren der Versionsnummer, die mithilfe von Push erfolgende Übertragung des aktualisierten Moduls in eine Imageregistrierung und das Aktualisieren des Bereitstellungsmanifests für ein Edgegerät lösen die Azure IoT Edge-Runtime aus, sodass das neue Modul auf das Edgegerät übertragen wird.
Für den Buildprozess wird die Datei deployment.template.json verwendet. Darin ist festgelegt, welche Module erstellt werden, welche Nachrichtenrouten eingerichtet werden und welche Version der IoT Edge-Runtime ausgeführt wird.
Die Datei deployment.json wird ausgehend von der Datei deployment.template.json generiert und fungiert als Bereitstellungsmanifest.
Die App version.py im Stammordner des Projekts ist ein Hilfsprogramm, das Sie auf dem Entwicklungscomputer ausführen können, mit dem Sie die Versionsnummer der einzelnen Module aktualisieren. Dies ist nützlich, da eine Änderung der Versionsnummer die Azure IoT Edge-Runtime auslöst, sodass das aktualisierte Modul mithilfe von Pull abgerufen wird. Das Ändern der Modulversionsnummern kann leicht vergessen werden.