Freigeben über


Planen und Übertragen von Aufträgen mit der Azure CLI

Verwenden Sie die Azure CLI zum Planen und Nachverfolgen von Aufträgen, die Millionen von Geräte aktualisieren. Verwenden Sie Aufträge zum:

  • Aktualisieren gewünschter Eigenschaften
  • Aktualisieren von Tags
  • Aufrufen direkter Methoden

Vom Konzept her umschließt ein Auftrag eine dieser Aktionen und verfolgt den Ausführungsfortschritt für eine Gruppe von Geräten nach. Ein Gerätezwilling definiert eine Gruppe von Geräten, mit denen ein Auftrag interagiert. Mit einem Auftrag kann eine Back-End-App beispielsweise eine Neustartmethode auf 10.000 Geräten aufrufen – angegeben durch eine Gerätezwillingsabfrage und geplant für einen späteren Zeitpunkt. Diese Anwendung kann dann den Fortschritt nachverfolgen, da jedes dieser Geräte die Neustartmethode empfängt und ausführt.

Weitere Informationen dazu, wie Aufträge der Massenverwaltung von Geräten helfen, finden Sie unter Planen von Aufträgen auf mehreren Geräten.

Hinweis

Die in diesem Artikel beschriebenen Features stehen nur im Standard-Tarif von IoT Hub zur Verfügung. Weitere Informationen zu den IoT Hub-Tarifen „Basic“ und „Standard/Free“ finden Sie unter Wählen des richtigen IoT Hub-Tarifs für Ihre Lösung.

Voraussetzungen

  • Azure-Befehlszeilenschnittstelle. Sie können die Befehle in diesem Artikel auch mithilfe von Azure Cloud Shell ausführen. Diese interaktive CLI-Shell kann in Ihrem Browser oder einer Anwendung wie Windows Terminal ausgeführt werden. Bei Verwendung der Cloud Shell müssen Sie nichts installieren. Wenn Sie es vorziehen, die Befehlszeilenschnittstelle lokal zu verwenden, benötigen Sie für diesen Artikel mindestens die Azure CLI-Version 2.36. Führen Sie az --version aus, um die installierte Version zu ermitteln. Informationen zur Installation oder zum Upgrade der Azure CLI finden Sie unter Installieren der Azure CLI.

  • Ein IoT Hub in Ihrem Azure-Abonnement. Wenn Sie noch keinen Hub haben, können Sie die Schritte unter Erstellen eines IoT-Hubs ausführen.

Planen eines Auftrags zum Aufrufen einer direkten Methode

Sie können Aufträge verwenden, um eine direkte Methode auf einem oder mehreren Geräten aufzurufen.

Führen Sie den Befehl az iot hub job create aus, und ersetzen Sie die folgenden Platzhalter durch die entsprechenden Werte. Der Befehl plant einen Auftrag, der einen Methodennamen auf den Zielgeräten aufruft.

az iot hub job create --hub-name {HubName} --job-id {JobName} \
                      --job-type scheduleDeviceMethod \
                      --method-name {MethodName} --method-payload {MethodPayload} \
                      --query-condition "{DeviceQuery}"
Platzhalter Wert
{HubName} Der Name Ihres IoT-Hubs.
{JobName} Der Name Ihres geplanten Auftrags. Auftragsnamen sind eindeutig. Wählen Sie daher bei jeder Ausführung dieses Befehls einen anderen Auftragsnamen aus.
{MethodName} Der Name Ihrer direkten Methode.
{MethodPayload} Alle Nutzdaten, die für die direkte Methode bereitgestellt werden sollen Wenn keine Nutzdaten erforderlich sind, verwenden Sie null.
{DeviceQuery} Eine Abfrage, die das Gerät oder die Geräte definiert, die als Ziel des Auftrags verwendet werden sollen Beispielsweise kann ein einzelner Geräteauftrag die folgende Abfragebedingung verwenden: deviceId = 'myExampleDevice'.

Tipp

Wenn Sie mithilfe des Befehl az iot hub job create einen Auftrag planen, der eine direkte Methode aufruft, müssen Sie Werte für die beiden optionalen Parameter „--method-name“ und „--method-payload“ angeben. Geben Sie bei direkten Methoden, die keine Nutzlast akzeptieren, „null“ für den Parameter „--method-payload“ an.

Planen eines Auftrags zum Aktualisieren der Eigenschaften eines Gerätezwillings

Sie können Aufträge verwenden, um eine bestimmte Eigenschaft eines Gerätezwillings zu aktualisieren.

Führen Sie den Befehl az iot hub job create aus, und ersetzen Sie die folgenden Platzhalter durch die entsprechenden Werte. In diesem Beispiel planen wir einen Auftrag, um den Wert der gewünschten Zwillingseigenschaft „BuildingNo“ bei unserem simulierten Gerät auf 45 festzulegen.

az iot hub job create --hub-name {HubName} --job-id {JobName} \
                      --job-type scheduleUpdateTwin \
                      --twin-patch '{JSONTwinPatch}' \
                      --query-condition "{DeviceQuery}"
Platzhalter Wert
{HubName} Der Name Ihres IoT-Hubs.
{JobName} Der Name Ihres geplanten Auftrags. Auftragsnamen sind eindeutig. Wählen Sie daher bei jeder Ausführung dieses Befehls einen anderen Auftragsnamen aus.
{JSONTwinPatch} Der JSON-Codeschnipsel, den Sie zum Aktualisieren der gewünschten Eigenschaften des Gerätezwillings verwenden möchten Beispiel: {"properties":{"desired": {"BuildingNo": 45}}}.
{DeviceQuery} Eine Abfrage, die das Gerät oder die Geräte definiert, die als Ziel des Auftrags verwendet werden sollen Beispielsweise kann ein einzelner Geräteauftrag die folgende Abfragebedingung verwenden: deviceId = 'myExampleDevice'.

Hier erfahren Sie, wie Sie Aufträge mithilfe der Azure IoT-SDKs programmgesteuert implementieren: Planen und Übertragen von Aufträgen.