Vorbereiten der technischen Ressourcen für das IoT Edge-Modul

In diesem Artikel werden die Anforderungen beschrieben, die die technischen Ressourcen für Ihr IoT Edge-Modul (Internet of Things) vor der Veröffentlichung in Azure Marketplace erfüllen müssen.

Erste Schritte

Ein IoT Edge-Modul ist ein Docker-kompatibler Container, der auf einem IoT Edge-Gerät ausgeführt wird.

Technische Anforderungen

Ihr IoT Edge-Modul muss die folgenden technischen Anforderungen erfüllen, damit es in Azure Marketplace zertifiziert und veröffentlicht werden kann.

Plattformunterstützung

Ihr IoT Edge-Modul muss eine der folgenden Plattformoptionen unterstützen:

Von IoT Edge unterstützte Plattformen der Ebene 1

Ihr Modul muss alle Plattformen der Ebene 1 unterstützen, die von IoT Edge unterstützt werden (wie unter Azure IoT Edge-Support dargestellt). Diese Option wird empfohlen, da so die Benutzerfreundlichkeit verbessert wird. Module, die diese Kriterien erfüllen, werden vorgestellt. Für ein Modul mit dieser Plattformoption muss Folgendes gelten:

  • Es muss ein latest-Tag und ein Versionstag (z. B. 1.0.1) bereitstellen. Dabei handelt es sich um Manifesttags, die mit dem Manifesttool von GitHub erstellt werden.

  • Verwenden Sie die Registerkarte „Angebotsliste“ in Partner Center, um unter dem Abschnitt Nützliche Links dem Azure IoT Edge Certified-Gerätekatalog einen Link hinzuzufügen.

Eine Teilmenge der von IoT Edge unterstützten Plattformen der Ebene 1

Ihr Modul muss eine Teilmenge (mindestens eine) der Plattformen der Ebene 1 unterstützen, die von IoT Edge unterstützt werden (wie unter Azure IoT Edge-Support dargestellt). Für ein Modul mit dieser Plattformoption muss Folgendes gelten:

  • Es muss ein latest-Tag und ein Versionstag (z. B. 1.0.1) bereitstellen. Dabei handelt es sich um Manifesttags, die mit dem Manifesttool von GitHub erstellt werden, wenn mehr als eine Plattform unterstützt wird. Manifesttags sind optional, wenn nur eine Plattform unterstützt wird.
  • Verwenden Sie die Registerkarte „Angebotsliste“ in Partner Center, um unter dem Abschnitt Nützliche Links mindestens einem IoT Edge-Gerät im Azure IoT Edge Certified-Gerätekatalog einen Link hinzuzufügen.

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

Gerätegrößen

IoT Edge-Modulgrößen (wie CPU, RAM, Speicher und GPU) auf IoT Edge-Zielgeräten müssen die folgenden Anforderungen erfüllen:

  • Das Modul muss mit mindestens einem IoT Edge-Gerät aus dem Azure IoT Edge Certified-Gerätekatalog funktionieren.

  • Die minimalen Hardwareanforderungen müssen im letzten Absatz in der Beschreibung des Angebots dokumentiert werden (unter der Registerkarte „Angebotsliste“ in Partner Center). Optional können Sie auch die empfohlenen Hardwareanforderungen auflisten, wenn sie sich deutlich unterscheiden. Fügen Sie z.B. folgenden Abschnitt am Ende der Angebotsbeschreibung hinzu:

Kopieren Sie diesen HTML-Text, oder verwenden Sie die entsprechenden Rich-Text-Funktionen im Bearbeitungsfenster.

<p><u>Minimum hardware requirements:</u> Linux x64 and arm32 OS, 1GB of RAM, 500 Mb of storage</p>

Konfiguration

Ihr Modul muss zudem auch Standardkonfigurationseinstellungen enthalten, um die Bereitstellung auf einem IoT Edge-Gerät so weit wie möglich zu vereinfachen. Diese Informationen können auf der Seite Technische Konfiguration für den Plan in Partner Center bereitgestellt werden. Der Container kann auch das IoT Edge Module SDK enthalten, um die Kommunikation mit dem Edge Hub und IoT Hub zu ermöglichen.

Standardkonfiguration

IoT Edge-Module müssen mit den Standardeinstellungen starten können, die auf der Seite Technische Konfiguration für den Plan in Partner Center angegeben sind. Die folgenden Standardeinstellungen sind verfügbar:

  • Standardrouten
  • Gewünschte Standardeigenschaften für Modulzwilling
  • Standardmäßige Umgebungsvariablen
  • Standardoptionen für die Containererstellung

In einem Szenario, in dem ein für einen Standardwert erforderlicher Parameter nicht sinnvoll ist (z. B. die IP-Adresse eines Kundenservers), fügen Sie einen Parameter als Standardwert hinzu. Dieser Wert wird in Großbuchstaben geschrieben und in Klammern eingeschlossen. In diesem Beispiel würden Sie die folgende standardmäßige Umgebungsvariable festlegen:

ServerIPAddress = <MY_SERVER_IP_ADDRESS>

Konfigurationsdokumentation

Alle Konfigurationseinstellungen eines IoT Edge-Moduls müssen eindeutig dokumentiert werden. So müssen Sie beispielsweise die Verwendung der Routen, gewünschte Eigenschaften von Gerätezwillingen, Umgebungsvariablen, „createOptions“ usw. dokumentieren. Sie müssen entweder einen Link zur Dokumentation angeben oder die Dokumentation in Ihre Angebots- bzw. Planbeschreibung aufnehmen. Sie können diese Informationen auf der Seite Angebotsliste und der Seite Planlisting in Partner Center bereitstellen.

Tags und Versionsverwaltung

Kunden müssen ein Modul leicht bereitstellen und automatisch Updates aus dem Marketplace abrufen können (in einem Entwicklerszenario). Sie müssen auch in der Lage sein, eine exakte Version zu verwenden und einzufrieren, die sie getestet haben (in einem Produktionsszenario).

Um diese Kundenerwartungen zu erfüllen und im Marketplace veröffentlicht zu werden, müssen IoT Edge-Module die folgenden Anforderungen erfüllen:

  • Sie müssen ein latest-Manifesttag enthalten, das auf die neueste Version auf allen unterstützten Plattformen verweist.
  • Sie müssen Versionstags im Format „X.Y.Z“ enthalten. „X“, „Y“ und „Z“ sind dabei ganze Zahlen.
  • Sie müssen ein Versionstag enthalten, z. B. 1.0.1, das auf eine bestimmte Version auf allen unterstützten Plattformen verweist.
  • Versionstags wie 1.0.1 dürfen nicht aktualisiert werden, da sie nicht geändert werden dürfen.

Hinweis

Optional kann die Versionsverwaltung Tags für „parallele Versionen“, z. B. 2.0 und 1.0, enthalten. Dies unterstützt die Beibehaltung mehrerer paralleler Hauptversionen.

Telemetrie

Module, die das SDK für IoT-Module verwenden, müssen für Telemetriedaten den eindeutigen Modulbezeichner auf „PublisherId.OfferId.SkuId“ festlegen. Mit einem eindeutigen Bezeichner kann im Azure Marketplace die Anzahl der Modulinstanzen, die ausgeführt werden, identifiziert werden.

Verwenden Sie eine der folgenden Methoden aus den SDKs für IoT-Module, um „ProductInfo“ auf diesen Bezeichner festzulegen:

Bei Modulen, die das SDK für IoT-Module nicht verwenden, sind weniger präzise Erkenntnisse in Partner Center verfügbar, z. B. die Anzahl der Downloads.

Sicherheit

IoT Edge-Module müssen privilegierte Module vermeiden. Fragen Sie stattdessen nach einem Hostzugriff mit möglichst geringen Berechtigungen.

SDK für IoT-Module

Die Aufnahme des SDK für IoT-Module ist keine Voraussetzung für die Zertifizierung. Das IoT Module SDK kann jedoch eine bessere Benutzererfahrung bieten. Beispielsweise kann das Weiterleiten oder Senden von Nachrichten an die Cloud unterstützt werden.

Das SDK für IoT-Module ist erforderlich, um Telemetriedaten über die Anzahl der ausgeführten Modulinstanzen zu erhalten.

Prozess zur erneuten Zertifizierung

Partner werden benachrichtigt, sobald eine wichtige Änderung vorgenommen wird, die ihre Module betrifft. Beispiele:

  • Unterstützungsmatrix für Betriebssysteme/Architekturen der Ebene 1, die von IoT Edge unterstützt werden
  • SDK für IoT-Module
  • IoT Edge-Laufzeit
  • Richtlinien für die IoT Edge-Modulzertifizierung

Partner müssen ihre Angebote aktualisieren und neu zertifizieren, indem Sie sie in Partner Center erneut veröffentlichen.

Ihr Angebot wird auch dann neu zertifiziert, wenn Sie es aktualisieren, indem Sie beispielsweise neue Imagetags hinzufügen.

Hostmodul in Azure Container Registry

Um Ihr IoT Edge-Modul in Azure Marketplace hochzuladen, müssen Sie es zuerst in Azure Container Registry (ACR) hosten. Das Modul muss alle Tags enthalten, die Sie veröffentlichen möchten, einschließlich der Imagetags, auf die durch ein Manifesttag verwiesen wird. Weitere Informationen hierzu finden Sie im Tutorial Erstellen einer Azure-Containerregistrierung und Übertragen eines Containerimages per Pushvorgang.

Nächste Schritte