Förbereda tekniska tillgångar för IoT Edge-moduler
Den här artikeln beskriver de krav som dina tekniska tillgångar i IoT Edge-modulen (Internet of Things) måste uppfylla innan de publiceras på Azure Marketplace.
Kom igång
En IoT Edge-modul är en Docker-kompatibel container som körs på en IoT Edge-enhet.
- Mer information om IoT Edge-moduler finns i Förstå Azure IoT Edge-moduler.
- Information om hur du kommer igång med IoT Edge-modulutvecklingen finns i Utveckla dina egna IoT Edge-moduler.
Tekniska krav
Din IoT Edge-modul måste uppfylla följande tekniska krav för att certifieras och publiceras på Azure Marketplace.
Plattformssupport
Din IoT Edge-modul måste ha stöd för något av följande plattformsalternativ:
Nivå 1-plattformar som stöds av IoT Edge
Modulen måste ha stöd för alla plattformar på nivå 1 som stöds av IoT Edge (enligt vad som registrerats i Azure IoT Edge-stöd). Vi rekommenderar det här alternativet eftersom det ger en bättre kundupplevelse. Moduler som uppfyller dessa kriterier visas. En modul som använder det här plattformsalternativet måste:
Ange en senaste tagg och en versionstagg (till exempel 1.0.1) som är manifesttaggar som skapats med GitHub Manifest-tool.
Använd fliken Erbjudandelista i Partnercenter för att lägga till en länk under avsnittet Användbara länkar till Azure IoT Edge-certifierad enhetskatalog.
En delmängd av plattformar på nivå 1 som stöds av IoT Edge
Modulen måste ha stöd för en delmängd (minst en) av plattformar på nivå 1 som stöds av IoT Edge (som registrerats i Azure IoT Edge-support). En modul som använder det här plattformsalternativet måste:
- Ange en senaste tagg och en versionstagg (till exempel 1.0.1) som är manifesttaggar som skapats med GitHub-manifestverktyget om fler än en plattform stöds. Manifesttaggar är bara valfria när en plattform stöds.
- Använd fliken Erbjudandelista i Partnercenter för att lägga till en länk under avsnittet Användbara länkar till minst en IoT Edge-enhet från Azure IoT Edge-certifierad enhetskatalog.
Enhetsdimensioner
IoT Edge-moduldimensioner (till exempel CPU, RAM, lagring och GPU) på riktade IoT Edge-enheter måste uppfylla följande krav:
Modulen måste fungera med minst en IoT Edge-enhet från Azure IoT Edge-certifierad enhetskatalog.
Minimikraven på maskinvara måste dokumenteras som sista stycket i beskrivningen av erbjudandet (under fliken erbjudandelista i Partnercenter). Du kan också ange de rekommenderade maskinvarukraven om de skiljer sig avsevärt. Lägg till exempel till följande avsnitt i slutet av erbjudandebeskrivningen:
Kopiera den här HTML-texten eller använd motsvarande RTF-funktioner i redigeringsfönstret.
<p><u>Minimum hardware requirements:</u> Linux x64 and arm32 OS, 1GB of RAM, 500 Mb of storage</p>
Konfiguration
Modulen måste innehålla standardkonfigurationsinställningar för att göra distributionen till en IoT Edge-enhet så enkel som möjligt. Den här informationen kan anges på sidan Teknisk konfiguration för planen i Partnercenter. Containern kan också innehålla IoT Edge Module SDK för att aktivera kommunikation med edge Hub och IoT Hub.
Standardkonfiguration
IoT Edge-moduler måste kunna börja med standardinställningarna som anges på sidan Teknisk konfiguration för planen i Partnercenter. Följande standardinställningar är tillgängliga:
- Standardvägar
- Önskade egenskaper för standardmodultvilling
- Standardmiljövariabler
- Standardalternativ för containerskapande
I ett scenario där en parameter som krävs för ett standardvärde inte är meningsfull (till exempel IP-adressen för en kunds server) lägger du till en parameter som standardvärde. Det här värdet är versaler och omges av hakparenteser. I det här exemplet konfigurerar du följande standardmiljövariabel:
ServerIPAddress = <MY_SERVER_IP_ADDRESS>
Konfigurationsdokumentation
Alla konfigurationsinställningar för en IoT Edge-modul måste vara tydligt dokumenterade. Du måste till exempel dokumentera hur du använder dess vägar, önskade egenskaper för tvilling, miljövariabler, createOptions och så vidare. Du måste antingen ange en länk till din dokumentation eller göra den till en del av ditt erbjudande eller din planbeskrivning. Du kan ange den här informationen på sidan Erbjudandelista och Planlistning i Partnercenter.
Taggar och versionshantering
Kunder måste enkelt kunna distribuera en modul och automatiskt få uppdateringar från marknadsplatsen (i ett utvecklarscenario). De måste också kunna använda och frysa en exakt version som de har testat (i ett produktionsscenario).
För att uppfylla dessa kundförväntningar och publiceras på marknadsplatsen måste IoT Edge-moduler uppfylla följande krav
- Inkludera en senaste manifesttagg som pekar på den senaste versionen på alla plattformar som stöds.
- Skapa versionstaggar i formatet X.Y.Z, där X, Y och Z är heltal.
- Inkludera en "version"-tagg, till exempel 1.0.1, som pekar på en specifik version på alla plattformar som stöds.
- Uppdatera inte "versionstaggar", till exempel 1.0.1, eftersom de inte får ändras.
Kommentar
Versionshantering kan också innehålla taggar för "rullande version", till exempel 2.0 och 1.0. Detta stöder underhåll av flera större versioner parallellt.
Telemetri
Moduler som använder IoT Module SDK måste ange den unika modulidentifieraren till PublisherId.OfferId.SkuId i telemetrisyfte. En unik identifierare hjälper Azure Marketplace att identifiera antalet modulinstanser som körs.
Använd någon av följande metoder från IoT-modulens SDK:er för att ange ProductInfo till den här identifieraren:
För moduler som inte använder IoT Module SDK är mindre exakta insikter tillgängliga via Partnercenter, till exempel antalet nedladdningar.
Säkerhet
IoT Edge-moduler måste undvika privilegierade moduler. Be i stället om den minst privilegierade åtkomsten till värden som möjligt.
Modul-IoT SDK
Att inkludera IoT Module SDK är inte en förutsättning för certifiering. Men att inkludera IoT Module SDK kan ge en bättre användarupplevelse. Till exempel för att stödja routning eller skicka meddelanden till molnet.
IoT Module SDK krävs för att hämta telemetridata om antalet modulinstanser som körs.
Omcertifieringsprocess
Partner meddelas när det sker en icke-bakåtkompatibel ändring som påverkar deras moduler, till exempel:
- Stödmatris för nivå 1-os/valv som stöds av IoT Edge
- IoT Module SDK
- IoT Edge-körning
- Certifieringsriktlinjer för IoT Edge-modul
Partner måste uppdatera och omcertifiera sina erbjudanden genom att publicera dem på nytt i Partnercenter.
Ditt erbjudande kommer också att omcertifieras om du uppdaterar det, till exempel genom att lägga till nya avbildningstaggar.
Värdmodul i Azure Container Registry
Om du vill ladda upp IoT Edge-modulen till Azure Marketplace måste du först vara värd för den i ett Azure Container Registry (ACR). Modulen måste innehålla alla taggar som du vill publicera, inklusive de bildtaggar som refereras till av en manifesttagg. Mer information finns i självstudien Skapa ett Azure-containerregister och skicka en containeravbildning.