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.

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:

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:

This is an image of the Offer Listing section within Partner Center

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.

Nästa steg