Preparare gli asset tecnici dei moduli IoT Edge
Questo articolo descrive i requisiti che gli asset tecnici del modulo Internet delle cose (IoT) Edge devono soddisfare prima di essere pubblicati in Azure Marketplace.
Operazioni preliminari
Un modulo IoT Edge è un contenitore compatibile con Docker che viene eseguito in un dispositivo IoT Edge.
- Per altre informazioni sui moduli Azure IoT Edge, vedere Informazioni sui moduli Azure IoT Edge.
- Per iniziare a usare lo sviluppo di moduli IoT Edge, vedere Sviluppare moduli IoT Edge personalizzati.
Requisiti tecnici
Il modulo IoT Edge deve soddisfare i requisiti tecnici seguenti per essere certificati e pubblicati in Azure Marketplace.
Piattaforme supportate
Il modulo IoT Edge deve supportare una delle opzioni di piattaforma seguenti:
Piattaforme di livello 1 supportate da IoT Edge
Il modulo deve supportare tutte le piattaforme di livello 1 supportate da IoT Edge (come registrato nel supporto di Azure IoT Edge). Questa è l'opzione consigliata, poiché offre un'esperienza utente di livello superiore. Verranno presentati i moduli che soddisfano questi criteri. Un modulo che usa questa opzione di piattaforma deve:
Specificare un tag più recente e un tag di versione (ad esempio, 1.0.1) che sono tag manifesto compilati con gitHub Manifest-tool.
Usare la scheda Presentazione dell'offerta nel Centro per i partner per aggiungere un collegamento nella sezione Collegamenti utili al catalogo dei dispositivi Certificati Azure IoT Edge.
Subset di piattaforme di livello 1 supportate da IoT Edge
Il modulo deve supportare un subset (almeno uno) di piattaforme di livello 1 supportate da IoT Edge (come registrato nel supporto di Azure IoT Edge). Un modulo che usa questa opzione di piattaforma deve:
- Specificare un tag più recente e un tag di versione (ad esempio, 1.0.1) che sono tag manifesto compilati con lo strumento manifesto gitHub se sono supportate più piattaforme. I tag di manifesto sono facoltativi se è supportata una sola piattaforma.
- Usare la scheda Presentazione dell'offerta nel Centro per i partner per aggiungere un collegamento nella sezione Collegamenti utili ad almeno un dispositivo IoT Edge dal catalogo di dispositivi Certificati azure IoT Edge.
Dimensioni del dispositivo
Le dimensioni del modulo IoT Edge (ad esempio CPU, RAM, archiviazione e GPU) nei dispositivi IoT Edge di destinazione devono soddisfare i requisiti seguenti:
Il modulo deve funzionare con almeno un dispositivo IoT Edge dal catalogo di dispositivi certificati Azure IoT Edge.
I requisiti hardware minimi devono essere documentati come ultimo paragrafo nella descrizione dell'offerta (nella scheda Presentazione dell'offerta nel Centro per i partner). È anche possibile elencare facoltativamente i requisiti hardware consigliati se differiscono in modo significativo. Aggiungere ad esempio la sezione seguente alla fine della descrizione dell'offerta:
Copiare il testo HTML o usare le funzioni RTF corrispondenti nella finestra di modifica.
<p><u>Minimum hardware requirements:</u> Linux x64 and arm32 OS, 1GB of RAM, 500 Mb of storage</p>
Impostazione
Il modulo deve includere le impostazioni di configurazione predefinite per rendere la distribuzione in un dispositivo IoT Edge il più semplice possibile. Queste informazioni possono essere fornite nella pagina Configurazione tecnica per il piano nel Centro per i partner. Il contenitore può includere anche IoT Edge Module SDK per abilitare la comunicazione con l'hub perimetrale e hub IoT.
Configurazione predefinita
I moduli IoT Edge devono essere in grado di iniziare con le impostazioni predefinite specificate nella pagina Configurazione tecnica per il piano nel Centro per i partner. Sono disponibili le impostazioni predefinite seguenti:
- Default routes (Route predefinite)
- Proprietà desiderate del modulo gemello predefinito
- Default environment variables (Variabili di ambiente predefinite)
- Opzioni predefinite per la creazione di contenitori
In uno scenario in cui un parametro necessario per un valore predefinito non ha senso (ad esempio, l'indirizzo IP del server di un cliente), aggiungere un parametro come valore predefinito. Questo valore è maiuscolo e racchiuso tra parentesi quadre. Per questo esempio viene configurata la variabile di ambiente predefinita seguente:
ServerIPAddress = <MY_SERVER_IP_ADDRESS>
Documentazione della configurazione
Tutte le impostazioni di configurazione di un modulo IoT Edge devono essere chiaramente documentate. Ad esempio, è necessario documentare come usare le route, le proprietà desiderate dei dispositivi gemelli, le variabili di ambiente, createOptions e così via. È necessario fornire un collegamento alla documentazione o renderlo parte dell'offerta o della descrizione del piano. È possibile fornire queste informazioni nella pagina Presentazione dell'offerta e presentazione del piano nel Centro per i partner.
Tag e controllo delle versioni
I clienti devono essere in grado di distribuire facilmente un modulo e ottenere automaticamente gli aggiornamenti dal marketplace (in uno scenario per sviluppatori). Devono anche essere in grado di usare e bloccare una versione esatta testata (in uno scenario di produzione).
Per soddisfare queste aspettative dei clienti e essere pubblicati nel marketplace, i moduli IoT Edge devono soddisfare i requisiti seguenti
- Includere un tag manifesto più recente che punta alla versione più recente in tutte le piattaforme supportate.
- Creare tag di versione nel formato X.Y.Z, dove X, Y e Z sono numeri interi.
- Includere un tag "version", ad esempio 1.0.1, che punta a una versione specifica in tutte le piattaforme supportate.
- Non aggiornare i tag "version", ad esempio 1.0.1, perché non devono essere modificati.
Nota
Facoltativamente, il controllo delle versioni può includere tag di "versione in sequenza", ad esempio 2.0 e 1.0. Questa opzione supporta la gestione di più versioni principali in parallelo.
Telemetria
I moduli che usano IoT Module SDK devono impostare l'identificatore univoco del modulo su PublisherId.OfferId.SkuId per scopi di telemetria. Un identificatore univoco consente ad Azure Marketplace di identificare il numero di istanze del modulo in esecuzione.
Usare uno dei metodi seguenti dagli SDK del modulo IoT per impostare ProductInfo su questo identificatore:
Per i moduli che non usano L'SDK del modulo IoT, sono disponibili informazioni dettagliate meno precise tramite il Centro per i partner, ad esempio il numero di download.
Sicurezza
I moduli IoT Edge devono evitare moduli con privilegi. Chiedere invece l'accesso con privilegi minimi all'host il più possibile.
SDK dei moduli IoT
L'inclusione dell'SDK dei moduli IoT non è un prerequisito per la certificazione, Tuttavia, l'inclusione dell'SDK del modulo IoT potrebbe offrire un'esperienza utente migliore. ad esempio per il supporto del routing o l'invio di messaggi al cloud.
L'SDK del modulo IoT è necessario per ottenere dati di telemetria sul numero di istanze del modulo in esecuzione.
Processo di ricertificazione
I partner vengono informati ogni volta che viene apportata una modifica che influisce sui moduli, ad esempio:
- Matrice di supporto del sistema operativo/arco di livello 1 supportata da IoT Edge
- SDK dei moduli IoT
- Runtime IoT Edge
- Linee guida per la certificazione del modulo IoT Edge
I partner devono aggiornare e ricertificare le offerte ripubblicandole nel Centro per i partner.
L'offerta verrà ricertificata anche se viene aggiornata, ad esempio aggiungendo nuovi tag di immagine.
Modulo host in Registro Azure Container
Per caricare il modulo IoT Edge in Azure Marketplace, è prima necessario ospitarlo in un Registro Azure Container (ACR). Il modulo deve includere tutti i tag da pubblicare, inclusi i tag di immagine a cui fa riferimento un tag manifesto. Per altre informazioni, vedere l'esercitazione Creare un registro Azure Container ed eseguire il push di un'immagine del contenitore.