Informazioni sulla struttura del progetto
Di seguito vengono descritte le sezioni evidenziate del progetto che sono disponibili nel repository GitHub.
Sono disponibili due moduli:
- CameraCaptureOpenCV
- ImageClassifierService
Nel file module.json vengono definiti il processo di compilazione Docker, la versione del modulo e il registro Docker. L'aggiornamento del numero di versione, il push del modulo aggiornato in un registro immagini e l'aggiornamento del manifesto della distribuzione per un dispositivo perimetrale attivano il runtime Azure IoT Edge per eseguire il pull del nuovo modulo nel dispositivo perimetrale.
Per il processo di compilazione si usa il file deployment.template.json. Tale file definisce i moduli da compilare, le route dei messaggi da configurare e la versione del runtime IoT Edge da eseguire.
Il file deployment.json viene generato da deployment.template.json e corrisponde al manifesto della distribuzione.
Il file version.py nella cartella radice del progetto è un'app helper che è possibile eseguire nel computer di sviluppo e che aggiorna il numero di versione di ogni modulo. È utile perché in seguito alla modifica del numero di versione il runtime Azure IoT Edge esegue il pull del modulo aggiornato ed è facile dimenticare di modificare i numeri di versione del modulo.