Erstellen und Löschen von Routen und Endpunkten mit Azure PowerShell

In diesem Artikel erfahren Sie, wie Sie in Ihrem Hub in Azure IoT Hub eine Route und einen Endpunkt erstellen und beide anschließend löschen. Erfahren Sie, wie Sie mithilfe von Azure PowerShell Routen und Endpunkte für Azure Event Hubs, Azure Service Bus-Warteschlangen und -Themen sowie für Azure Storage erstellen.

Weitere Informationen zur Funktionsweise des Routings in IoT Hub finden Sie unter Verwenden des IoT Hub-Nachrichtenroutings zum Senden von D2C-Nachrichten an verschiedene Endpunkte. Informationen zum Einrichten einer Route, die Nachrichten an den Speicher sendet, mit anschließendem Testen auf einem simulierten Gerät finden Sie im Tutorial: Senden von Gerätedaten an Azure Storage über IoT Hub-Nachrichtenrouting.

Voraussetzungen

Bei den in diesem Artikel beschriebenen Verfahren werden die folgenden Ressourcen verwendet:

  • Azure PowerShell
  • Ein IoT Hub
  • Ein Endpunktdienst in Azure

Azure PowerShell

In diesem Artikel wird Azure PowerShell zum Arbeiten mit IoT Hub und anderen Azure-Diensten verwendet. Wenn Sie Azure PowerShell lokal verwenden möchten: Installieren Sie das Azure PowerShell-Modul auf Ihrem Computer. Alternativ dazu können Sie Azure PowerShell in einem Webbrowser nutzen, indem Sie Azure Cloud Shell aktivieren.

IoT Hub

Zum Erstellen einer IoT-Hub-Route benötigen Sie einen IoT-Hub, den Sie mithilfe von Azure IoT Hub erstellt haben. Gerätemeldungen und Ereignisprotokolle stammen aus Ihrem IoT-Hub.

Beim Erstellen Ihrer IoT-Hub-Route müssen Sie die folgende Hubressource verwenden:

Endpunktdienst

Zum Erstellen einer IoT-Hub-Route benötigen Sie mindestens einen anderen Azure-Dienst, der als Endpunkt für die Route verwendet werden soll. Der Endpunkt empfängt Gerätenachrichten und Ereignisprotokolle. Sie können wählen, welchen Azure-Dienst Sie für einen Endpunkt verwenden möchten, der eine Verbindung mit Ihrer IoT-Hub-Route herstellen soll: Event Hubs, Service Bus-Warteschlangen oder -Themen oder aber Azure Storage.

Sie müssen eine der folgenden Ressourcen verwenden, wenn Sie einen Endpunkt für Ihre IoT-Hub-Route erstellen:

Erstellen von Ressourcen und Endpunkten

In IoT Hub können Sie eine Route erstellen, um Nachrichten zu senden oder Ereignisse zu erfassen. Bei jeder Route gibt es eine Datenquelle und einen Endpunkt. Die Datenquelle ist der Ursprung von Nachrichten oder Ereignisprotokollen. Der Endpunkt ist der Ort, an dem die Nachrichten oder Ereignisprotokolle enden. Sie wählen Speicherorte für die Datenquelle und den Endpunkt aus, wenn Sie in Ihrem IoT-Hub eine neue Route erstellen. Anschließend verwenden Sie Routingabfragen zum Filtern von Nachrichten oder Ereignissen, bevor sie zum Endpunkt gelangen.

Sie können einen Event Hub, eine Service Bus-Warteschlange oder ein Service Bus-Thema oder ein Speicherkonto als Endpunkt für Ihre IoT-Hub-Route verwenden. Der Dienst, den Sie zum Erstellen Ihres Endpunkts verwenden, muss in Ihrem Azure-Konto zuerst vorhanden sein.

Hinweis

Wenn Sie eine lokale Version von Azure PowerShell verwenden, melden Sie sich bei Azure PowerShell an, bevor Sie beginnen.

In den Befehlen in den folgenden Verfahren werden diese Verweise verwendet:

Erstellen eines Ereignis-Hubs

So erstellen Sie eine neue Event Hubs-Ressource mit einer Autorisierungsregel

  1. Erstellen Sie einen neuen Event Hubs-Namespace. Verwenden Sie für NamespaceName einen eindeutigen Wert.

    New-AzEventHubNamespace -ResourceGroupName MyResourceGroup -NamespaceName MyNamespace -Location MyLocation
    
  2. Erstellen Sie Ihre neue Event Hubs-Entität. Verwenden Sie für Name einen eindeutigen Wert. Verwenden Sie für NamespaceName den Namen des Namespace, den Sie im vorhergehenden Schritt erstellt haben.

    New-AzEventHub -Name MyEventHub -NamespaceName MyNamespace -ResourceGroupName MyResourceGroup
    
  3. Erstellen Sie eine neue Autorisierungsregel. Verwenden Sie für Name den Namen Ihrer Entität für EventHubName. Verwenden Sie als Namen Ihrer Autorisierungsregel einen eindeutigen Wert.

    New-AzEventHubAuthorizationRule -ResourceGroupName MyResourceGroup -NamespaceName MyNamespace -EventHubName MyEventHub -Name MyAuthRule -Rights @('Manage', 'Send', 'Listen')
    

    Weitere Informationen zum Zugriff finden Sie unter Autorisieren des Zugriffs auf Azure Event Hubs.

Erstellen eines Event Hubs-Endpunkts

  1. Rufen Sie die primäre Verbindungszeichenfolge aus Ihrem Event Hub ab. Kopieren Sie die Verbindungszeichenfolge zur späteren Verwendung.

    Get-AzEventHubKey -ResourceGroupName MyResourceGroup -NamespaceName MyNamespace -EventHubName MyEventHub -Name MyAuthRule
    
  2. Erstellen Sie einen neuen IoT Hub-Endpunkt für Event Hubs. Verwenden Sie Ihre primäre Verbindungszeichenfolge aus dem vorherigen Schritt. Der Wert für EndpointType muss EventHub lauten. Verwenden Sie bei allen anderen Parametern Werte für Ihr Szenario.

    Add-AzIotHubRoutingEndpoint -ResourceGroupName MyResourceGroup -Name MyIotHub -EndpointName MyEndpoint -EndpointType EventHub -EndpointResourceGroup MyResourceGroup -EndpointSubscriptionId xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx -ConnectionString "Endpoint=<my connection string>"
    

    Alle Optionen für Routingendpunkte finden Sie unter Add-AzIotHubRoutingEndpoint.

Erstellen einer IoT Hub-Route

Mit dem neuen Endpunkt in Ihrem IoT-Hub können Sie eine neue Route erstellen.

Die Standard-Fallbackroute in IoT Hub sammelt Nachrichten aus DeviceMessages. Wählen Sie für Ihre benutzerdefinierte Route eine andere Option, z. B. DeviceConnectionStateEvents. Weitere Informationen zu Quelloptionen finden Sie unter Add-AzIotHubRoute. Der Enabled-Parameter ist ein Schalter, daher müssen Sie für diesen Parameter keinen Wert verwenden.

Add-AzIotHubRoute -ResourceGroupName MyResourceGroup -Name MyIotHub -RouteName MyRoute -Source DeviceLifecycleEvents -EndpointName MyEndpoint -Enabled

PowerShell zeigt eine Bestätigung an, die diesem Beispiel ähnelt:

RouteName     : MyIotHub 
DataSource    : DeviceLifecycleEvents
EndpointNames : MyEndpoint
Condition     : true
IsEnabled     : True

Aktualisieren einer IoT Hub-Route

Nehmen Sie mit dem folgenden Befehl Änderungen an einer vorhandenen Route vor. Versuchen Sie beispielsweise, den Namen Ihrer Route mithilfe des Befehls zu ändern.

Set-AzIotHubRoute -ResourceGroupName MyResourceGroup -Name MyIotHub -RouteName MyRoute

Verwenden Sie den Befehl Get-AzIotHubRoute, um die Änderung in Ihrer Route zu bestätigen:

Get-AzIotHubRoute -ResourceGroupName MyResourceGroup -Name MyIotHub

Einen Endpunkt löschen

So löschen Sie einen Endpunkt:

Remove-AzIotHubRoutingEndpoint -ResourceGroupName MyResourceGroup -Name MyIotHub -EndpointName MyEndpoint -PassThru

Löschen einer IoT Hub-Route

So löschen Sie eine IoT Hub-Route:

Remove-AzIotHubRoute -ResourceGroupName MyResourceGroup -Name MyIotHub -RouteName MyRoute -PassThru

Tipp

Durch das Löschen einer Route werden in Ihrem Azure-Konto keine Endpunkte gelöscht. Sie müssen einen Endpunkt getrennt vom Löschen einer Route löschen.

Nächste Schritte

In diesem Artikel mit Anleitungen haben Sie erfahren, wie Sie eine Route und einen Endpunkt für Event Hubs, Service Bus-Warteschlangen und -Themen sowie für Azure Storage erstellen.

Weitere Informationen zum Nachrichtenrouting finden Sie im Tutorial: Senden von Gerätedaten an Azure Storage über IoT Hub-Nachrichtenrouting. In diesem Tutorial erstellen Sie eine Speicherroute und testen sie mit einem Gerät in Ihrem IoT-Hub.