Bedarfsgerechtes Bereitstellen von IoT Edge-Modulen mithilfe des Azure-Portals

Gilt für:IoT Edge 1.4 checkmark IoT Edge 1.4

Wichtig

IoT Edge Version 1.4 wird unterstützt. Wenn Sie ein früheres Release verwenden, finden Sie weitere Informationen unter Aktualisieren von IoT Edge.

Erstellen Sie eine automatische IoT Edge-Bereitstellung im Azure-Portal zum gleichzeitigen Verwalten laufender Bereitstellungen vieler Geräte. Automatische Bereitstellungen für IoT Edge sind Teil des Features Geräteverwaltung von IoT Hub. Bereitstellungen sind dynamische Prozesse, mit denen Sie mehrere Module auf mehreren Geräten bereitstellen, Status und Integrität der Module nachverfolgen und bei Bedarf Änderungen vornehmen können.

Weitere Informationen finden Sie unter Grundlegendes zu automatischen IoT Edge-Bereitstellungen für einzelne Geräte oder nach Bedarf.

Identifizieren von Geräten mithilfe von Tags

Bevor Sie eine Bereitstellung erstellen können, müssen Sie angeben können, welche Geräte Sie ansprechen möchten. Azure IoT Edge erkennt Geräte anhand von Tags im Gerätezwilling. Jedes Gerät kann mehrere Tags aufweisen, die Sie auf eine für Ihre Lösung sinnvolle Weise definieren können.

Wenn Sie z.B. einen Campus von intelligenten Gebäuden verwalten, könnten Sie einem Gerät Standort, Raumtyp und Umgebungstags hinzufügen:

"tags":{
  "location":{
    "building": "20",
    "floor": "2"
  },
  "roomtype": "conference",
  "environment": "prod"
}

Weitere Informationen zu Gerätezwillingen und Tags finden Sie unter Verstehen und Verwenden von Gerätezwillingen in IoT Hub.

Erstellen einer Bereitstellung

IoT Edge bietet zwei verschiedene Arten von automatischen Bereitstellungen, die Sie zum Anpassen Ihres Szenarios verwenden können. Sie können eine Standardbereitstellung erstellen, die diese Systemlaufzeitmodule und alle zusätzlichen Module und Routen enthält. Jedes Gerät kann nur eine Bereitstellung anwenden. Oder Sie können eine mehrstufige Bereitstellung erstellen, die nur benutzerdefinierte Module und Routen (und nicht die Systemlaufzeit) enthält. Viele mehrstufige Bereitstellungen können auf einem Gerät – basierend auf einer Standardbereitstellung – kombiniert werden. Weitere Informationen dazu, wie die beiden Typen automatischer Bereitstellungen zusammenarbeiten, finden Sie unter Grundlegendes zu automatischen IoT Edge-Bereitstellungen für einzelne Geräte oder nach Bedarf.

Die Schritte zum Erstellen einer Bereitstellung und einer mehrstufigen Bereitstellung sind sehr ähnlich. In den folgenden Schritten wird auf eventuelle Unterschiede hingewiesen.

  1. Navigieren Sie im Azure-Portal zu Ihrem IoT Hub.
  2. Wählen Sie im Menü im linken Bereich unter Geräteverwaltung die Option Konfigurationen und Bereitstellungen aus.
  3. Wählen Sie in der oberen Leiste Hinzufügen>Bereitstellung hinzufügen oder Mehrstufige Bereitstellung hinzufügen aus.

Zum Erstellen einer Bereitstellung müssen fünf Schritte ausgeführt werden. Diese werden in den folgenden Abschnitten exemplarisch beschrieben.

Hinweis

Die Schritte in diesem Artikel entsprechen der aktuellen Schemaversion des IoT Edge-Agents und -Hubs.

Bei einer Bereitstellung auf einem Gerät, auf dem Version 1.0.9 oder früher ausgeführt wird, bearbeiten Sie die Runtimeeinstellungen im Schritt Module des Assistenten, um Schemaversion 1.0 zu verwenden.

Schritt 1: Name und Bezeichnung

  1. Geben Sie Ihrer Bereitstellung einen eindeutigen Namen, der bis zu 128 Kleinbuchstaben umfasst. Verwenden Sie dabei weder Leerzeichen noch die folgenden ungültigen Zeichen: & ^ [ ] { } \ | " < > /.
  2. Sie können Bezeichnungen als Schlüssel-Wert-Paare hinzufügen, um Ihre Bereitstellungen im Blick zu behalten. Beispiel: HostPlatform und Linux oder Version und 3.0.1.
  3. Wählen Sie "Weiter" aus: Module , die zu Schritt 2 verschoben werden sollen.

Schritt 2: Module

Sie können einer Bereitstellung bis zu 50 Module hinzufügen. Wenn Sie eine Bereitstellung ohne Module erstellen, werden alle aktuellen Module von den Zielgeräten entfernt.

In Bereitstellungen können Sie die Einstellungen für die IoT Edge-Agent- und IoT Edge-Hub-Module verwalten. Wählen Sie Laufzeiteinstellungen aus, um die beiden Laufzeitmodule zu konfigurieren. Weil die Laufzeitmodule in einer mehrstufigen Bereitstellung nicht enthalten sind, können sie nicht konfiguriert werden.

So fügen Sie benutzerdefinierten Code als Modul oder aber ein Azure-Dienstmodul manuell hinzu:

  1. Geben Sie im Abschnitt Container Registry-Einstellungen der Seite die Anmeldeinformationen für den Zugriff auf private Containerregistrierungen mit Ihren Modulimages an.

  2. Wählen Sie im Abschnitt IoT Edge-Module der Seite die Option Hinzufügen aus.

  3. Wählen Sie einen der drei Modultypen aus dem Dropdownmenü aus:

    • IoT Edge-Modul – Geben Sie den Modulnamen und den URI des Containerimages an. Beispielsweise lautet der Image-URI für das Beispielmodul „SimulatedTemperatureSensor“ mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.0. Wenn das Modulimage in einer privaten Containerregistrierung gespeichert ist, fügen Sie die Anmeldeinformationen auf dieser Seite hinzu, um auf das Image zugreifen zu können.
    • Marketplace-Modul – Module, die im Azure Marketplace gehostet werden. Weil einige Marketplace-Module eine zusätzliche Konfiguration erfordern, überprüfen Sie die Moduldetails in der Liste Azure Marketplace IoT-Edge-Module.
    • Azure Stream Analytics-Modul – Module, die aus einer Azure Stream Analytics-Workload generiert wurden.
  4. Wiederholen Sie bei Bedarf die Schritte 2 und 3, um Ihrer Bereitstellung weitere Module hinzuzufügen.

Nachdem Sie ein Modul zu einer Bereitstellung hinzugefügt haben, können Sie dessen Namen zum Öffnen der Seite IoT Edge-Modul aktualisieren auswählen. Auf dieser Seite können Sie die Moduleinstellungen und Umgebungsvariablen bearbeiten und Optionen, Startreihenfolgen und einen Modulzwilling erstellen. Wenn Sie ein Modul aus dem Marketplace hinzugefügt haben, sind darin einige dieser Parameter möglicherweise bereits ausgefüllt. Weitere Informationen zu den verfügbaren Moduleinstellungen finden Sie unter Bereitstellen von Modulen und Einrichten von Routen in IoT Edge.

Wenn Sie eine mehrstufige Bereitstellung erstellen, konfigurieren Sie eventuell ein Modul, das in anderen Bereitstellungen für dieselben Geräte bereits vorhanden ist. Möchten Sie den Modulzwilling aktualisieren, ohne dadurch andere Versionen zu überschreiben, öffnen Sie die Registerkarte Einstellungen für Modulzwilling. Erstellen Sie eine neue Eigenschaft für Modulzwilling mit einem eindeutigen Namen für einen Unterabschnitt innerhalb der gewünschten Eigenschaften des Modulzwillings, beispielsweise properties.desired.settings. Wenn Sie Eigenschaften nur im Feld properties.desired definieren, werden dadurch die gewünschten Eigenschaften für das Modul überschrieben, das in beliebigen Bereitstellungen mit niedrigerer Priorität definiert wurde.

Screenshot showing how to set the module twin property for layered deployment.

Weitere Informationen zur Konfiguration von Modulzwillingen in mehrstufigen Bereitstellungen finden Sie unter Mehrstufige Bereitstellung.

Nachdem Sie alle Module für eine Bereitstellung konfiguriert haben, wählen Sie "Weiter: Routen " aus, um zu Schritt 3 zu wechseln.

Schritt 3: Routen

Auf der Registerkarte Routen definieren Sie, wie Nachrichten zwischen Modulen und dem IoT Hub übergeben werden. Nachrichten werden mit Name-Wert-Paaren erstellt.

Eine Route mit dem Namen route und dem Wert FROM /messages/* INTO $upstream würde alle von Modulen ausgegebenen Nachrichten übernehmen und an Ihren IoT-Hub senden.

Die Parameter Priority und Time to live sind optionale Parameter, die Sie in eine Routendefinition einschließen können. Mit dem Parameter „Priority“ können Sie auswählen, für welche Routen die Nachrichten zuerst bzw. zuletzt verarbeitet werden sollen. Die Priorität wird durch das Festlegen einer Zahl zwischen 0 und 9 festgelegt, wobei 0 für die höchste Priorität steht. Mit dem Parameter „Time to live“ können Sie deklarieren, wie lange Nachrichten in dieser Route aufbewahrt werden sollen, bis sie entweder verarbeitet oder aus der Warteschlange entfernt werden.

Weitere Informationen zum Erstellen von Routen finden Sie unter Deklarieren von Routen.

Wählen Sie "Weiter" aus : Zielgeräte.

Schritt 4: Festlegen von Zielgeräten

Mit der Tageigenschaft Ihrer Geräte wählen Sie bestimmte Geräte als Ziele aus, die diese Bereitstellung erhalten sollen.

Da mehrere Bereitstellungen dasselbe Gerät als Ziel verwenden können, sollten Sie für jede Bereitstellung eine Priorität festlegen. Wenn irgendwann ein Konflikt auftritt, „gewinnt“ die Bereitstellung mit der höchsten Priorität (höhere Werte deuten auf eine höhere Priorität hin). Haben zwei Bereitstellungen dieselbe Priorität, dann wird jeweils diejenige verwendet, die später erstellt wurde.

Wenn mehrere Bereitstellungen auf dasselbe Gerät abzielen, wird nur die Bereitstellung mit der höheren Priorität angewendet. Wenn mehrere mehrstufige Bereitstellungen auf dasselbe Gerät abzielen, werden alle angewendet. Werden aber irgendwelche Eigenschaften dupliziert, z. B. zwei Routen mit demselben Namen, überschreibt die Eigenschaft aus der mehrstufigen Bereitstellung mit der höheren Priorität die restlichen Eigenschaften.

Eine mehrstufige Bereitstellung für ein Gerät muss eine höhere Priorität als die Basisbereitstellung haben, damit sie angewendet wird.

  1. Geben Sie eine positive ganze Zahl als Priorität für die Bereitstellung ein.
  2. Geben Sie unter Zielbedingung eine Bedingung ein, um festzulegen, auf welche Geräte diese Bereitstellung angewendet werden soll. Die Bedingung basiert auf den Gerätezwillingstags oder auf den gemeldeten Gerätezwillingseigenschaften und muss dem Ausdrucksformat entsprechen. Zum Beispiel: tags.environment='test' oder properties.reported.devicemodel='4000x'.

Wählen Sie "Weiter" aus: Metriken.

Schritt 5: Metriken

Metriken bieten zusammenfassende Angaben zu den verschiedenen Zuständen, die ein Gerät nach dem Anwenden von Konfigurationsinhalten möglicherweise zurückmeldet.

  1. Geben Sie unter Metrikname einen Namen ein.

  2. Geben Sie eine Abfrage unter Metrikkriterien ein. Diese Abfrage basiert auf gemeldeten Eigenschaften eines IoT Edge-Hub-Modulzwillings. Die Metrik stellt die Anzahl der von der Abfrage zurückgegebenen Zeilen dar.

    Beispiel:

    SELECT deviceId FROM devices
      WHERE properties.reported.lastDesiredStatus.code = 200
    

Wählen Sie "Weiter" aus: Überprüfen + Erstellen , um zum letzten Schritt zu wechseln.

Schritt 6: Überprüfen und Erstellen

Überprüfen Sie Ihre Bereitstellungsinformationen, und klicken Sie dann auf Erstellen.

Informationen zum Überwachen der Bereitstellung finden Sie unter Überwachen von IoT Edge-Bereitstellungen.

Hinweis

Wenn eine neue IoT Edge-Bereitstellung erstellt wird, kann es manchmal bis zu 5 Minuten dauern, bis IoT Hub die neue Konfiguration verarbeitet und die neuen gewünschten Eigenschaften an die Zielgeräte weitergegeben werden.

Ändern einer Bereitstellung

Wenn Sie Änderungen an einer Bereitstellung vornehmen, werden diese sofort auf alle Zielgeräte repliziert. Sie können die folgenden Einstellungen und Features für eine vorhandene Bereitstellung ändern:

  • Zielbedingungen
  • Benutzerdefinierte Metriken
  • Beschriftungen
  • Tags
  • Gewünschte Eigenschaften

Ändern von Zielbedingungen, benutzerdefinierten Metriken und Bezeichnungen

  1. Wählen Sie in Ihrem IoT-Hub Konfigurationen und Bereitstellungen im linken Bereich aus.

  2. Wählen Sie die Bereitstellung aus, die Sie konfigurieren möchten.

  3. Wählen Sie die Registerkarte Zielgeräte aus. Ändern Sie die Zielbedingung, um die gewünschten Geräte anzuvisieren. Sie können auch die Priorität einstellen.

    Wenn Sie die Zielbedingung ändern, erfolgen die nachfolgend aufgeführten Anpassungen:

    • Wenn ein Gerät die alte Zielbedingung nicht erfüllt, wohl aber die neue, und diese Bereitstellung die höchste Priorität für das Gerät hat, wird diese Bereitstellung auf das Gerät angewendet.
    • Wenn ein Gerät, auf dem diese Bereitstellung gegenwärtig ausgeführt wird, die Zielbedingung nicht mehr erfüllt, wird diese Bereitstellung deinstalliert, und die Bereitstellung mit der nächsthöheren Priorität wird angewendet.
    • Wenn ein Gerät, auf dem diese Bereitstellung gegenwärtig ausgeführt wird, diese Zielbedingung wie auch die Zielbedingungen aller anderen Bereitstellungen nicht erfüllt, erfolgt keine Änderung auf dem Gerät. Das Gerät führt die aktuellen Module im aktuellen Zustand weiter aus, wird aber nicht mehr als Teil dieser Bereitstellung verwaltet. Sobald es die Zielbedingung einer anderen Bereitstellung erfüllt, wird diese Bereitstellung deinstalliert, und die neue Bereitstellung wird angewendet.
  4. Wählen Sie die Registerkarte Metriken aus, und klicken Sie auf die Schaltfläche Metriken bearbeiten. Fügen Sie benutzerdefinierte Metriken hinzu oder ändern Sie sie, wobei die Beispielsyntax als Leitfaden dient. Wählen Sie Speichern aus.

    Screenshot showing how to edit custom metrics in a deployment.

  5. Wählen Sie die Registerkarte Bezeichnungen aus, nehmen Sie die gewünschten Änderungen vor, und wählen Sie dann Speichern aus.

Löschen einer Bereitstellung

Wenn Sie eine Bereitstellung löschen, übernehmen alle bereitgestellten Geräte ihre nächste Bereitstellung mit der höchsten Priorität. Wenn Ihre Geräte die Zielbedingung keiner anderen Bereitstellung erfüllen, werden die Module beim Löschen der Bereitstellung nicht entfernt.

  1. Melden Sie sich beim Azure-Portal an, und navigieren Sie zu Ihrer IoT Hub-Instanz.
  2. Wählen Sie Konfigurationen und Bereitstellungen aus.
  3. Wählen Sie die zu löschende Bereitstellung durch Aktivieren des zugehörigen Kontrollkästchens aus.
  4. Klicken Sie auf Löschen.
  5. Eine Meldung informiert Sie darüber, dass diese Aktion diese Bereitstellung löschen wird und der vorherige Status auf allen Geräten wiederhergestellt wird. Eine Bereitstellung mit einer niedrigeren Priorität wird angewendet. Wenn keine andere Zielbereitstellung für das Gerät vorhanden ist, werden keine Module entfernt. Wenn Sie alle Module vom Gerät entfernen möchten, erstellen Sie eine Bereitstellung ohne Module, und stellen Sie sie auf den gleichen Geräten bereit. Wählen Sie Ja aus, um fortzufahren.

Nächste Schritte

Erfahren Sie mehr zum Bereitstellen von Modulen auf IoT Edge-Geräten.