Créer et supprimer des itinéraires et des points de terminaison à l’aide de Azure PowerShell

Cet article vous montre comment créer un itinéraire et un point de terminaison dans votre hub IoT, puis supprimer votre itinéraire et votre point de terminaison. Découvrez comment utiliser Azure PowerShell pour créer des itinéraires et des points de terminaison pour Azure Event Hubs, des files d’attente et des rubriques Azure Service Bus, et stockage Azure.

Pour en savoir plus sur le fonctionnement du routage dans IoT Hub, consultez Utiliser le routage des messages IoT Hub pour envoyer des messages appareil-à-cloud à différents points de terminaison. Pour vous guider dans la configuration d’un itinéraire qui envoie des messages au stockage et le test sur un appareil simulé, consultez Tutoriel : Envoyer des données d’appareil à stockage Azure à l’aide du routage des messages IoT Hub.

Prérequis

Les procédures décrites dans l’article utilisent les ressources suivantes :

  • Azure PowerShell
  • Un hub IoT
  • Un service de point de terminaison dans Azure

Azure PowerShell

Cet article utilise Azure PowerShell pour travailler avec IoT Hub et d'autres services Azure. Pour utiliser Azure PowerShell localement, installez le module Azure PowerShell sur votre ordinateur. Vous pouvez également utiliser Azure PowerShell dans un navigateur en activant Azure Cloud Shell.

hub IOT

Pour créer une route IoT Hub, vous avez besoin d’un hub IoT que vous avez créé en utilisant Azure IoT Hub. Les messages d’appareil et les journaux des événements proviennent de votre hub IoT.

Veillez à disposer de la ressource hub suivante à utiliser lorsque vous créez votre route IoT Hub :

Service de point de terminaison

Pour créer une route IoT Hub, vous avez besoin d’au moins un autre service Azure à utiliser comme point de terminaison de la route. Le point de terminaison reçoit les messages d’appareil et les journaux des événements. Vous pouvez choisir le service Azure à utiliser comme point de terminaison afin de vous connecter à votre route IoT Hub : Event Hubs, files d’attente ou rubriques Service Bus, ou Stockage Azure.

Veillez à avoir une des ressources suivantes à utiliser lorsque vous créez un point de terminaison pour votre route IoT Hub :

Créer des ressources et des points de terminaison

Dans IoT Hub, vous pouvez créer un itinéraire pour envoyer des messages ou capturer des événements. Chaque itinéraire a une source de données et un point de terminaison. La source de données est l’origine des messages ou des journaux des événements. Le point de terminaison est l’endroit où se terminent les messages ou les journaux d’événements. Vous choisissez des emplacements pour la source de données et le point de terminaison lorsque vous créez un itinéraire dans votre hub IoT. Ensuite, vous utilisez les requêtes de routage pour filtrer les messages ou les événements avant qu’ils accèdent au point de terminaison.

Vous pouvez utiliser un concentrateur d’événements, une file d’attente ou un sujet de Service Bus, ou un compte de stockage comme point de terminaison pour votre route de concentrateur IoT. Le service que vous utilisez pour créer votre point de terminaison doit d’abord exister dans votre compte Azure.

Notes

Si vous utilisez une version locale de Azure PowerShell, connectez-vous à Azure PowerShell avant de commencer.

Les commandes des procédures suivantes utilisent ces références :

Créer un hub d’événements

Pour créer une ressource Event Hubs avec une règle d’autorisation :

  1. Créez un espace de noms Event Hubs. Pour NamespaceName, utilisez une valeur unique.

    New-AzEventHubNamespace -ResourceGroupName MyResourceGroup -NamespaceName MyNamespace -Location MyLocation
    
  2. Créez votre nouvelle entité Event Hubs. Pour Name, utilisez une valeur unique. Pour NamespaceName, utilisez le nom de l’espace de noms que vous avez créé à l’étape précédente.

    New-AzEventHub -Name MyEventHub -NamespaceName MyNamespace -ResourceGroupName MyResourceGroup
    
  3. Créez une nouvelle règle d'autorisation. Pour Name, utilisez le nom de votre entité pour EventHubName. Pour le nom de votre règle d’autorisation, utilisez une valeur unique.

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

    Pour plus d’informations sur l’accès, consultez Autoriser l’accès à Azure Event Hubs.

Créer un point de terminaison Event Hubs

  1. Obtenez la chaîne de connexion principale à partir de votre Event Hub. Copiez la chaîne de connexion à utiliser plus tard.

    Get-AzEventHubKey -ResourceGroupName MyResourceGroup -NamespaceName MyNamespace -EventHubName MyEventHub -Name MyAuthRule
    
  2. Créez un nouveau point de terminaison IoT Hub pour Event Hubs. Utilisez votre chaîne de connexion principale de l’étape précédente. La valeur de EndpointType doit être EventHub. Pour tous les autres paramètres, utilisez les valeurs de votre scénario.

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

    Pour afficher toutes les options de point de terminaison de routage, consultez Add-AzIotHubRoutingEndpoint.

Créer un itinéraire IoT Hub

Avec votre nouveau point de terminaison dans votre hub IoT, vous pouvez créer un itinéraire.

La route de repli par défaut dans IoT Hub collecte les messages de DeviceMessages. Choisissez une autre option pour votre itinéraire personnalisé, par exemple DeviceConnectionStateEvents. Pour plus d’informations sur les options de la source, consultez Add-AzIotHubRoute. Le paramètre Enabled étant un commutateur, vous n’avez pas besoin d’utiliser une valeur avec le paramètre .

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

PowerShell affiche une confirmation qui ressemble à cet exemple :

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

Mettre à jour un itinéraire IoT

Pour apporter des modifications à un itinéraire existant, utilisez la commande suivante. Par exemple, essayez de modifier le nom de votre itinéraire à l’aide de la commande .

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

Utilisez la commande Get-AzIotHubRoute pour confirmer la modification de votre itinéraire :

Get-AzIotHubRoute -ResourceGroupName MyResourceGroup -Name MyIotHub

Supprimer un point de terminaison

Pour supprimer un point de terminaison :

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

Supprimer un itinéraire IoT

Pour supprimer un itinéraire IoT Hub :

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

Conseil

La suppression d’un itinéraire ne supprime pas les points de terminaison de votre compte Azure. Vous devez supprimer un point de terminaison séparément de la suppression d’un itinéraire.

Étapes suivantes

Dans cet article pratique, vous avez appris à créer un itinéraire et un point de terminaison pour votre instance Event Hubs, votre file d’attente ou vos rubriques Service Bus, et le Stockage Azure.

Pour en savoir plus sur le routage des messages, consultez Tutoriel : Envoyer des données d’appareil au Stockage Azure en utilisant le routage des messages IoT Hub. Dans le tutoriel, vous allez créer un itinéraire de stockage et le tester avec un appareil dans votre hub IoT.