Schnellstart: Einrichten des IoT Hub Device Provisioning-Diensts mithilfe der Azure-Befehlszeilenschnittstelle

Die Azure CLI dient zum Erstellen und Verwalten von Azure-Ressourcen über die Befehlszeile oder mit Skripts. In diesem Schnellstart erfahren Sie, wie Sie mithilfe der Azure-Befehlszeilenschnittstelle einen IoT-Hub und eine IoT Hub Device Provisioning Service-Instanz erstellen und die beiden Dienste miteinander verknüpfen.

Sollten Sie über kein Azure-Abonnement verfügen, können Sie zunächst ein kostenloses Azure-Konto erstellen.

Wichtig

Sowohl der IoT-Hub als auch der Bereitstellungsdienst, die Sie im Rahmen dieses Schnellstarts erstellen, sind öffentlich als DNS-Endpunkte ermittelbar. Vermeiden Sie daher die Verwendung vertraulicher Informationen, falls Sie die Namen für diese Ressourcen ändern.

Voraussetzungen

  • Verwenden Sie die Bash-Umgebung in Azure Cloud Shell. Weitere Informationen finden Sie unter Schnellstart für Bash in Azure Cloud Shell.

  • Wenn Sie CLI-Referenzbefehle lieber lokal ausführen, installieren Sie die Azure CLI. Wenn Sie Windows oder macOS ausführen, sollten Sie die Azure CLI in einem Docker-Container ausführen. Weitere Informationen finden Sie unter Ausführen der Azure CLI in einem Docker-Container.

    • Wenn Sie eine lokale Installation verwenden, melden Sie sich mithilfe des Befehls az login bei der Azure CLI an. Führen Sie die in Ihrem Terminal angezeigten Schritte aus, um den Authentifizierungsprozess abzuschließen. Informationen zu anderen Anmeldeoptionen finden Sie unter Anmelden mit der Azure CLI.

    • Installieren Sie die Azure CLI-Erweiterung beim ersten Einsatz, wenn Sie dazu aufgefordert werden. Weitere Informationen zu Erweiterungen finden Sie unter Verwenden von Erweiterungen mit der Azure CLI.

    • Führen Sie az version aus, um die installierte Version und die abhängigen Bibliotheken zu ermitteln. Führen Sie az upgrade aus, um das Upgrade auf die aktuelle Version durchzuführen.

Erstellen einer Ressourcengruppe

Erstellen Sie mithilfe des Befehls az group create eine Ressourcengruppe. Eine Azure-Ressourcengruppe ist ein logischer Container, in dem Azure-Ressourcen bereitgestellt und verwaltet werden.

Im folgenden Beispiel wird am Standort westus eine Ressourcengruppe mit dem Namen my-sample-resource-group erstellt.

az group create --name my-sample-resource-group --location westus

Tipp

Die Ressourcengruppe wird in diesem Beispiel am Standort „USA, Westen“ erstellt. Mit dem Befehl az account list-locations -o table können Sie eine Liste der verfügbaren Standorte anzeigen.

Erstellen eines IoT-Hubs

Erstellen Sie mithilfe des Befehls az iot hub create eine IoT Hub-Instanz.

Im folgenden Beispiel wird am Standort westus eine IoT Hub-Instanz mit dem Namen my-sample-hub erstellt. Ein IoT-Hub-Name muss in Azure global eindeutig sein, daher können Sie dem Beispielnamen entweder ein eindeutiges Präfix bzw. Suffix hinzufügen oder einen ganz neuen Namen auswählen. Achten Sie darauf, dass der Name den Benennungskonventionen für IoT-Hubs entspricht: Er muss 3 bis 50 Zeichen lang sein und darf nur alphanumerische Zeichen (Klein- und Großbuchstaben) oder Bindestriche („-“) enthalten.

az iot hub create --name my-sample-hub --resource-group my-sample-resource-group --location westus

Erstellen einer Device Provisioning Service-Instanz

Erstellen Sie mithilfe des Befehls az iot dps create eine Device Provisioning Service-Instanz.

Im folgenden Beispiel wird am Standort westus eine Device Provisioning Service-Instanz mit dem Namen my-sample-dps erstellt. Außerdem müssen Sie einen global eindeutigen Namen für Ihre eigene Instanz auswählen. Achten Sie darauf, dass er den Namenskonventionen für IoT Hub Device Provisioning Service entspricht: Er muss 3 bis 64 Zeichen lang sein und darf nur alphanumerische Zeichen (Klein- und Großbuchstaben) oder Bindestriche („-“) enthalten.

az iot dps create --name my-sample-dps --resource-group my-sample-resource-group --location westus

Tipp

Der Bereitstellungsdienst wird in diesem Beispiel am Standort „USA, Westen“ erstellt. Sie können eine Liste mit den verfügbaren Standorten anzeigen. Führen Sie hierzu entweder den Befehl az provider show --namespace Microsoft.Devices --query "resourceTypes[?resourceType=='ProvisioningServices'].locations | [0]" --out table aus, oder navigieren Sie zur Seite Azure-Status, und suchen Sie nach „Device Provisioning-Dienst“. In Befehlen können Standorte entweder als einzelnes Wort oder mit mehreren Wörtern (beispielsweise „westus“, „West US“, „WEST US“ usw.) angegeben werden. Die Groß-/Kleinschreibung spielt hierbei keine Rolle. Wenn Sie den Standort in einem Format mit mehreren Wörtern angeben, müssen Sie den Wert in Anführungszeichen einschließen, wie im folgenden Beispiel zu sehen: --location "West US".

Für Resilienz und Zuverlässigkeit empfehlen wir, eine der Bereiche bereitzustellen, die Verfügbarkeitszonen unterstützen.

Abrufen der Verbindungszeichenfolge für die IoT Hub-Instanz

Die Verbindungszeichenfolge Ihrer IoT Hub-Instanz wird benötigt, um sie mit der Device Provisioning Service-Instanz zu verknüpfen. Rufen Sie mithilfe des Befehls az iot hub show-connection-string die Verbindungszeichenfolge ab, und verwenden Sie die Ausgabe des Befehls, um eine Variable festzulegen, die später beim Verknüpfen der beiden Ressourcen verwendet wird.

Im folgenden Beispiel wird die Variable hubConnectionString auf den Wert der Verbindungszeichenfolge für den primären Schlüssel für die Richtlinie iothubowner des Hubs festgelegt. (Der Parameter --policy-name kann zum Angeben einer anderen Richtlinie verwendet werden.) Ersetzen Sie my-sample-hub durch den eindeutigen Namen des IoT-Hubs, den Sie zuvor ausgewählt haben. Der Befehl verwendet die Optionen query und output der Azure-Befehlszeilenschnittstelle, um die Verbindungszeichenfolge aus der Befehlsausgabe zu extrahieren.

hubConnectionString=$(az iot hub show-connection-string --name my-sample-hub --key primary --query connectionString -o tsv)

Sie können den Befehl echo verwenden, um die Verbindungszeichenfolge anzuzeigen.

echo $hubConnectionString

Hinweis

Diese beiden Befehle eignen sich für einen unter Bash ausgeführten Host.

Passen Sie bei Verwendung einer lokalen Windows-/Befehlsshell oder eines PowerShell-Hosts die Befehle an die korrekte Syntax für die jeweilige Umgebung an.

Überprüfen Sie bei Verwendung von Azure Cloud Shell, ob im Dropdownmenü für Umgebungen auf der linken Seite des Shellfensters Bash ausgewählt ist.

Verknüpfen Sie die IoT Hub-Instanz und Ihren Bereitstellungsdienst mithilfe des Befehls az iot dps linked-hub create.

Im folgenden Beispiel wird eine IoT Hub-Instanz namens my-sample-hub am Standort westus mit dem Gerätebereitstellungsdienst my-sample-dps verknüpft. Ersetzen Sie diese Namen durch die eindeutigen Namen des IoT-Hubs und des Gerätebereitstellungsdiensts, die Sie zuvor ausgewählt haben. Im Befehl wird die Verbindungszeichenfolge für Ihren IoT-Hub verwendet, die im vorherigen Schritt in der Variable hubConnectionString gespeichert wurde.

az iot dps linked-hub create --dps-name my-sample-dps --resource-group my-sample-resource-group --connection-string $hubConnectionString --location westus

Die Ausführung dieses Befehls kann einige Minuten in Anspruch nehmen.

Überprüfen des Bereitstellungsdiensts

Rufen Sie mithilfe des Befehls az iot dps show die Details Ihres Bereitstellungsdiensts ab.

Im folgenden Beispiel werden die Details eines Bereitstellungsdiensts namens my-sample-dps abgerufen. Ersetzen Sie diesen Namen durch Ihren eigenen Namen für den Gerätebereitstellungdienst.

az iot dps show --name my-sample-dps

Die verknüpfte IoT Hub-Instanz wird in der Sammlung properties.iotHubs angezeigt.

Verify Provisioning Service

Bereinigen von Ressourcen

Andere Schnellstarts in dieser Sammlung bauen auf diesem Schnellstart auf. Wenn Sie mit den nachfolgenden Schnellstarts oder mit den Tutorials weiterarbeiten möchten, bereinigen Sie nicht die in diesem Schnellstart erstellten Ressourcen. Wenn Sie damit nicht weiterarbeiten möchten, können Sie mithilfe der folgenden Befehle den Bereitstellungsdienst, den IoT-Hub oder die Ressourcengruppe und alle dazugehörigen Ressourcen löschen. Ersetzen Sie die Namen der in den folgenden Befehlen genannten Ressourcen durch die Namen Ihrer eigenen Ressourcen.

Führen Sie zum Löschen des Bereitstellungsdiensts den Befehl az iot dps delete aus:

az iot dps delete --name my-sample-dps --resource-group my-sample-resource-group

Führen Sie zum Löschen der IoT Hub-Instanz den Befehl az iot hub delete aus:

az iot hub delete --name my-sample-hub --resource-group my-sample-resource-group

Führen Sie zum Löschen einer Ressourcengruppe und all ihrer Ressourcen den Befehl az group delete aus:

az group delete --name my-sample-resource-group

Nächste Schritte

In diesem Schnellstart haben Sie einen IoT-Hub und eine Device Provisioning Service-Instanz bereitgestellt sowie die beiden Ressourcen verknüpft. In der Schnellstartanleitung zur Geräteerstellung erfahren Sie, wie Sie diese Einrichtung zum Bereitstellen eines Geräts verwenden.