Tutoriel : Utiliser Azure CLI et le portail Azure pour configurer le routage des messages IoT HubTutorial: Use the Azure CLI and Azure portal to configure IoT Hub message routing

Le routage des messages vous permet d’envoyer les données de télémétrie de vos appareils IoT à des points de terminaison intégrés compatibles avec les hubs d’événements ou à des points de terminaison personnalisés, comme un stockage d’objets blob, des files d’attente Service Bus, des rubriques Service Bus et des hubs d’événements.Message routing enables sending telemetry data from your IoT devices to built-in Event Hub-compatible endpoints or custom endpoints such as blob storage, Service Bus Queues, Service Bus Topics, and Event Hubs. Pour configurer le routage des messages, vous devez créer des requêtes de routage pour personnaliser la route qui correspond à une certaine condition.To configure custom message routing, you create routing queries to customize the route that matches a certain condition. Une fois la configuration effectuée, les données entrantes sont automatiquement acheminées vers les points de terminaison par l’IoT Hub.Once set up, the incoming data is automatically routed to the endpoints by the IoT Hub. Si un message ne correspond à aucune des requêtes de routage définies, il est routé vers le point de terminaison par défaut.If a message doesn't match any of the defined routing queries, it is routed to the default endpoint.

Dans ce tutoriel en 2 parties, vous allez à apprendre à configurer et à utiliser ces requêtes de routage personnalisées avec IoT Hub.In this 2-part tutorial, you learn how to set up and use these custom routing queries with IoT Hub. Vous allez router des messages d’un appareil IoT vers un ou plusieurs points de terminaison, notamment un espace de stockage d’objets blob et une file d’attente Service Bus.You route messages from an IoT device to one of multiple endpoints, including blob storage and a Service Bus queue. Les messages à destination de la file d’attente Service Bus sont récupérés par une application logique et envoyés par e-mail.Messages to the Service Bus queue are picked up by a Logic App and sent via e-mail. Les messages pour lesquels vous n’avez pas défini de routage de messages personnalisé sont envoyés au point de terminaison par défaut pour être ensuite récupérés par Azure Stream Analytics puis affichés dans une visualisation Power BI.Messages that do not have custom message routing defined are sent to the default endpoint, then picked up by Azure Stream Analytics and viewed in a Power BI visualization.

Pour effectuer les parties 1 et 2 de ce tutoriel, exécutez les tâches suivantes :To complete Parts 1 and 2 of this tutorial, you perform the following tasks:

Partie I : Créer des ressources, configurer le routage des messagesPart I: Create resources, set up message routing

  • Créez les ressources : un hub IoT, un compte de stockage, une file d’attente Service Bus et un appareil simulé.Create the resources -- an IoT hub, a storage account, a Service Bus queue, and a simulated device. Pour cela, vous pouvez utiliser le portail Azure, un modèle Azure Resource Manager, l’interface Azure CLI ou Azure PowerShell.This can be done using the Azure portal, an Azure Resource Manager template, the Azure CLI, or Azure PowerShell.
  • Configurez les points de terminaison et les routes des messages dans IoT Hub pour le compte de stockage et la file d’attente Service Bus.Configure the endpoints and message routes in IoT Hub for the storage account and Service Bus queue.

Partie II : Envoyer les messages au hub, visualiser les résultats routésPart II: Send messages to the hub, view routed results

  • Créer une application logique qui est déclenchée et qui envoie un e-mail lors de l’ajout d’un message à la file d’attente Service Bus.Create a Logic App that is triggered and sends e-mail when a message is added to the Service Bus queue.
  • Télécharger et exécuter une application qui simule l’envoi de messages par un appareil IoT au Hub pour les différentes options de routage.Download and run an app that simulates an IoT Device sending messages to the hub for the different routing options.
  • Créer une visualisation Power BI pour les données envoyées au point de terminaison par défaut.Create a Power BI visualization for data sent to the default endpoint.
  • Afficher les résultats...View the results ...
  • ... dans la file d’attente Service Bus et les e-mails....in the Service Bus queue and e-mails.
  • ... dans le compte de stockage....in the storage account.
  • ... dans la visualisation Power BI....in the Power BI visualization.

PrérequisPrerequisites

  • Pour la partie 1 de ce tutoriel :For Part 1 of this tutorial:

    • Vous devez avoir un abonnement Azure.You must have an Azure subscription. Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.If you don't have an Azure subscription, create a free account before you begin.
  • Pour la partie 2 de ce tutoriel :For Part 2 of this tutorial:

    • Vous devez avoir effectué la partie 1 de ce tutoriel et toujours disposer des ressources.You must have completed Part 1 of this tutorial, and have the resources still available.
    • Installer Visual Studio.Install Visual Studio.
    • Avoir accès à un compte Power BI pour examiner l’analytique du flux du point de terminaison par défaut.Have access to a Power BI account to analyze the default endpoint's stream analytics. (Essayez Power BI gratuitement).(Try Power BI for free.)
    • Disposer d’un compte professionnel ou scolaire pour envoyer des e-mails de notification.Have a work or school account for sending notification e-mails.
    • Vérifiez que le port 8883 est ouvert dans votre pare-feu.Make sure that port 8883 is open in your firewall. L’exemple dans ce tutoriel utilise le protocole MQTT, lequel communique sur le port 8883.The sample in this tutorial uses MQTT protocol, which communicates over port 8883. Ce port peut être bloqué dans certains environnements réseau professionnels et scolaires.This port may be blocked in some corporate and educational network environments. Pour plus d’informations sur les façons de contourner ce problème, consultez Connexion à IoT Hub (MQTT).For more information and ways to work around this issue, see Connecting to IoT Hub (MQTT).

Utiliser Azure Cloud ShellUse Azure Cloud Shell

Azure héberge Azure Cloud Shell, un environnement d’interpréteur de commandes interactif que vous pouvez utiliser dans votre navigateur.Azure hosts Azure Cloud Shell, an interactive shell environment that you can use through your browser. Vous pouvez utiliser Bash ou PowerShell avec Cloud Shell pour utiliser les services Azure.You can use either Bash or PowerShell with Cloud Shell to work with Azure services. Vous pouvez utiliser les commandes préinstallées Cloud Shell pour exécuter le code de cet article sans avoir à installer quoi que ce soit dans votre environnement local.You can use the Cloud Shell preinstalled commands to run the code in this article without having to install anything on your local environment.

Pour démarrer Azure Cloud Shell :To start Azure Cloud Shell:

OptionOption Exemple/LienExample/Link
Sélectionnez Essayer dans le coin supérieur droit d’un bloc de code.Select Try It in the upper-right corner of a code block. La sélection de Essayer ne copie pas automatiquement le code dans Cloud Shell.Selecting Try It doesn't automatically copy the code to Cloud Shell. Exemple Essayer pour Azure Cloud Shell
Accédez à https://shell.azure.com ou sélectionnez le bouton Lancer Cloud Shell pour ouvrir Cloud Shell dans votre navigateur.Go to https://shell.azure.com, or select the Launch Cloud Shell button to open Cloud Shell in your browser. Lancer Cloud Shell dans une nouvelle fenêtreLaunch Cloud Shell in a new window
Sélectionnez le bouton Cloud Shell dans la barre de menus en haut à droite du portail Azure.Select the Cloud Shell button on the menu bar at the upper right in the Azure portal. Bouton Cloud Shell du portail Azure

Pour exécuter le code de cet article dans Azure Cloud Shell :To run the code in this article in Azure Cloud Shell:

  1. Démarrez Cloud Shell.Start Cloud Shell.

  2. Sélectionnez le bouton Copier dans un bloc de code pour copier le code.Select the Copy button on a code block to copy the code.

  3. Collez le code dans la session Cloud Shell en sélectionnant Ctrl+Maj+V sur Windows et Linux, ou en sélectionnant Cmd+Maj+V sur macOS.Paste the code into the Cloud Shell session by selecting Ctrl+Shift+V on Windows and Linux or by selecting Cmd+Shift+V on macOS.

  4. Sélectionnez Entrée pour exécuter le code.Select Enter to run the code.

Créer les ressources de baseCreate base resources

Avant de pouvoir configurer le routage des messages, vous devez créer un hub IoT, un compte de stockage et une file d’attente Service Bus.Before you can configure the message routing, you need to create an IoT hub, a storage account, and a Service Bus queue. Ces ressources peuvent être créées en utilisant l’un des quatre articles disponibles pour la première partie de ce tutoriel : le portail Azure, un modèle Azure Resource Manager, l’interface Azure CLI ou Azure PowerShell.These resources can be created using one of the four articles that are available for Part 1 of this tutorial: the Azure portal, an Azure Resource Manager template, the Azure CLI, or Azure PowerShell.

Utilisez le même groupe de ressources et le même emplacement pour toutes les ressources.Use the same resource group and location for all of the resources. À la fin du processus, vous pouvez supprimer toutes les ressources en une seule fois en supprimant le groupe de ressources.Then at the end, you can remove all of the resources in one step by deleting the resource group.

Vous trouverez ci-dessous un récapitulatif des étapes à effectuer dans les sections suivantes :Below is a summary of the steps to be performed in the following sections:

  1. Créez un groupe de ressources.Create a resource group.

  2. Créez un IoT Hub dans le niveau S1.Create an IoT hub in the S1 tier. Ajoutez un groupe de consommateurs à votre IoT Hub.Add a consumer group to your IoT hub. Le groupe de consommateurs est utilisé par Azure Stream Analytics lors de la récupération des données.The consumer group is used by the Azure Stream Analytics when retrieving data.

    Notes

    Vous devez utiliser un hub IoT dans le cadre d'un niveau payant pour suivre ce tutoriel.You must use an Iot hub in a paid tier to complete this tutorial. Le niveau gratuit ne vous permet de configurer qu'un seul point de terminaison alors que ce tutoriel en nécessite plusieurs.The free tier only allows you to set up one endpoint, and this tutorial requires multiple endpoints.

  3. Créez un compte de stockage V1 standard avec la réplication Standard_LRS.Create a standard V1 storage account with Standard_LRS replication.

  4. Créez un espace de noms et une file d’attente Service Bus.Create a Service Bus namespace and queue.

  5. Créez une identité d’appareil pour l’appareil simulé qui envoie des messages à votre Hub.Create a device identity for the simulated device that sends messages to your hub. Enregistrez la clé pour la phase de test.Save the key for the testing phase. (Si vous créez un modèle Resource Manager, faites cela après avoir déployé le modèle.)(If creating a Resource Manager template, this is done after deploying the template.)

Utiliser Azure CLI pour créer les ressources de baseUse the Azure CLI to create the base resources

Ce tutoriel utilise Azure CLI pour créer les ressources de base, puis utilise le portail Azure pour montrer comment configurer le routage des messages et l’appareil virtuel pour les tests.This tutorial uses the Azure CLI to create the base resources, then uses the Azure portal to show how to configure message routing and set up the virtual device for testing.

Copiez le script ci-dessous et collez-le dans Cloud Shell, puis appuyez sur Entrée.Copy and paste the script below into Cloud Shell and press Enter. Le script est alors exécuté ligne par ligne.It runs the script one line at a time. Ceci crée les ressources de base utilisées dans ce tutoriel, dont le compte de stockage, le hub IoT, l’espace de noms Service Bus et la file d’attente Service Bus.This will create the base resources for this tutorial, including the storage account, IoT Hub, Service Bus Namespace, and Service Bus queue.

Plusieurs noms de ressources doivent être globalement uniques, comme le nom du hub IoT et le nom du compte de stockage.There are several resource names that must be globally unique, such as the IoT Hub name and the storage account name. Pour faciliter le nommage, une valeur alphanumérique aléatoire appelée randomValue est ajoutée à ces noms de ressources.To make this easier, those resource names are appended with a random alphanumeric value called randomValue. La valeur randomValue est générée une fois au début du script, puis ajoutée aux noms de ressources tout au long du script en fonction des besoins.The randomValue is generated once at the top of the script and appended to the resource names as needed throughout the script. Si vous ne souhaitez pas que cette valeur soit aléatoire, vous pouvez la définir sur une chaîne vide ou sur une valeur spécifique.If you don't want it to be random, you can set it to an empty string or to a specific value.

Conseil

Une remarque à propos du débogage : ce script utilise le symbole de continuation (la barre oblique inverse \) pour rendre le script plus lisible.A tip about debugging: this script uses the continuation symbol (the backslash \) to make the script more readable. Si vous rencontrez des problèmes durant l’exécution du script, vérifiez que votre session Cloud Shell exécute bash, et qu’il n’existe aucun espace après les barres obliques inverses.If you have a problem running the script, make sure your Cloud Shell session is running bash and that there are no spaces after any of the backslashes.

# This retrieves the subscription id of the account 
#   in which you're logged in.
# This field is used to set up the routing queries.
subscriptionID=$(az account show --query id)

# Concatenate this number onto the resources that have to be globally unique.
# You can set this to "" or to a specific value if you don't want it to be random.
# This retrieves a random value.
randomValue=$RANDOM

# Set the values for the resource names that 
#   don't have to be globally unique.
location=westus
resourceGroup=ContosoResources
iotHubConsumerGroup=ContosoConsumers
containerName=contosoresults

# Create the resource group to be used
#   for all the resources for this tutorial.
az group create --name $resourceGroup \
    --location $location

# The IoT hub name must be globally unique, 
#   so add a random value to the end.
iotHubName=ContosoTestHub$randomValue 
echo "IoT hub name = " $iotHubName

# Create the IoT hub.
az iot hub create --name $iotHubName \
    --resource-group $resourceGroup \
    --sku S1 --location $location

# Add a consumer group to the IoT hub for the 'events' endpoint.
az iot hub consumer-group create --hub-name $iotHubName \
    --name $iotHubConsumerGroup

# The storage account name must be globally unique, 
#   so add a random value to the end.
storageAccountName=contosostorage$randomValue
echo "Storage account name = " $storageAccountName

# Create the storage account to be used as a routing destination.
az storage account create --name $storageAccountName \
    --resource-group $resourceGroup \
    --location $location \
    --sku Standard_LRS

# Get the primary storage account key. 
#    You need this to create the container.
storageAccountKey=$(az storage account keys list \
    --resource-group $resourceGroup \
    --account-name $storageAccountName \
    --query "[0].value" | tr -d '"') 

# See the value of the storage account key.
echo "storage account key = " $storageAccountKey

# Create the container in the storage account. 
az storage container create --name $containerName \
    --account-name $storageAccountName \
    --account-key $storageAccountKey \
    --public-access off

# The Service Bus namespace must be globally unique, 
#   so add a random value to the end.
sbNamespace=ContosoSBNamespace$randomValue
echo "Service Bus namespace = " $sbNamespace

# Create the Service Bus namespace.
az servicebus namespace create --resource-group $resourceGroup \
    --name $sbNamespace \
    --location $location

# The Service Bus queue name must be globally unique, 
#   so add a random value to the end.
sbQueueName=ContosoSBQueue$randomValue
echo "Service Bus queue name = " $sbQueueName

# Create the Service Bus queue to be used as a routing destination.
az servicebus queue create --name $sbQueueName \
    --namespace-name $sbNamespace \
    --resource-group $resourceGroup

Maintenant que vous avez configuré les ressources de base, vous pouvez configurer le routage des messages dans le portail Azure.Now that the base resources are set up, you can configure the message routing in the Azure portal.

Configurer le routage de messagesSet up message routing

Vous vous apprêtez à acheminer les messages vers différentes ressources en fonction des propriétés jointes au message par l’appareil simulé.You are going to route messages to different resources based on properties attached to the message by the simulated device. Les messages dont le routage n’est pas personnalisé sont envoyés au point de terminaison par défaut (messages/événements).Messages that are not custom routed are sent to the default endpoint (messages/events). Dans le prochain tutoriel, vous allez envoyer des messages à IoT Hub qui seront routés vers différentes destinations.In the next tutorial, you send messages to the IoT Hub and see them routed to the different destinations.

ValeurValue RésultatsResult
level="storage"level="storage" Écrire dans Stockage Azure.Write to Azure Storage.
level="critical"level="critical" Écrire dans une file d’attente Service Bus.Write to a Service Bus queue. Une application logique extrait le message de la file d’attente et utilise Office 365 pour envoyer le message par e-mail.A Logic App retrieves the message from the queue and uses Office 365 to e-mail the message.
defaultdefault Afficher ces données à l’aide de Power BI.Display this data using Power BI.

La première étape consiste à configurer le point de terminaison vers lequel les données seront routées.The first step is to set up the endpoint to which the data will be routed. La deuxième étape consiste à configurer la route des messages qui utilise ce point de terminaison.The second step is to set up the message route that uses that endpoint. Après avoir configuré le routage, vous pouvez examiner les points de terminaison et les routes des messages sur le portail.After setting up the routing, you can view the endpoints and message routes in the portal.

Router vers un compte de stockageRoute to a storage account

Configurez maintenant le routage pour le compte de stockage.Now set up the routing for the storage account. Vous accédez au volet Routage des messages, puis vous ajoutez une route.You go to the Message Routing pane, then add a route. Lors de l’ajout de la route, définissez un nouveau point de terminaison pour la route.When adding the route, define a new endpoint for the route. Une fois ce routage configuré, les messages pour lesquels la propriété level est définie sur storage sont automatiquement écrits dans un compte de stockage.After this routing is set up, messages where the level property is set to storage are written to a storage account automatically.

Notes

Les données peuvent être écrites dans un espace de stockage d’objets blob au format Apache Avro, qui est la valeur par défaut, ou JSON (préversion).The data can be written to blob storage in either the Apache Avro format, which is the default, or JSON (preview).

La fonctionnalité permettant d’encoder au format JSON est en préversion dans toutes les régions où IoT Hub est disponible, à l’exception des régions USA Est, USA Ouest et Europe Ouest.The capability to encode JSON format is in preview in all regions in which IoT Hub is available, except East US, West US and West Europe. Le format d’encodage peut être défini uniquement au moment de configurer le point de terminaison du stockage d’objets blob.The encoding format can be only set at the time the blob storage endpoint is configured. Le format ne peut pas être modifié pour un point de terminaison déjà configuré.The format cannot be changed for an endpoint that has already been set up. Quand vous utilisez l’encodage JSON, vous devez définir contentType sur JSON et contentEncoding sur UTF-8 dans les propriétés système de message.When using JSON encoding, you must set the contentType to JSON and the contentEncoding to UTF-8 in the message system properties.

Pour plus d’informations sur l’utilisation d’un point de terminaison de stockage d’objets blob, voir les recommandations en matière de routage vers un espace de stockage.For more detailed information about using a blob storage endpoint, please see guidance on routing to storage.

  1. Dans le portail Azure, sélectionnez Groupes de ressources, puis votre groupe de ressources.In the Azure portal, select Resource Groups, then select your resource group. Ce didacticiel utilise ContosoResources.This tutorial uses ContosoResources.

  2. Dans la liste des ressources, sélectionnez le hub IoT.Select the IoT hub under the list of resources. Ce didacticiel utilise ContosoTestHub.This tutorial uses ContosoTestHub.

  3. Sélectionnez Routage des messages.Select Message Routing. Dans le volet Routage des messages, sélectionnez +Ajouter.In the Message Routing pane, select +Add. Dans le volet Ajouter une route, cliquez sur +Ajouter en regard du champ Point de terminaison pour afficher les points de terminaison pris en charge, comme illustré dans l’image suivante :On the Add a Route pane, select +Add next to the Endpoint field to show the supported endpoints, as displayed in the following picture:

    Commencer à ajouter un point de terminaison pour une route

  4. Sélectionnez Stockage d’objets blob.Select Blob storage. Vous voyez le volet Ajouter un point de terminaison de stockage.You see the Add a storage endpoint pane.

    Ajout d’un point de terminaison

  5. Entrez un nom pour le point de terminaison.Enter a name for the endpoint. Ce tutoriel utilise ContosoStorageEndpoint.This tutorial uses ContosoStorageEndpoint.

  6. Sélectionnez Choisir un conteneur.Select Pick a container. Vous accédez alors à une liste de vos comptes de stockage.This takes you to a list of your storage accounts. Sélectionnez celui que vous avez configuré dans les étapes de préparation.Select the one you set up in the preparation steps. Ce tutoriel utilise contosostorage.This tutorial uses contosostorage. Il montre une liste de conteneurs dans ce compte de stockage.It shows a list of containers in that storage account. Sélectionnez le conteneur que vous avez configuré dans les étapes de préparation.Select the container you set up in the preparation steps. Ce didacticiel utilise contosoresults.This tutorial uses contosoresults. Vous revenez au volet Ajouter un point de terminaison de stockage et vous voyez les sélections effectuées.You return to the Add a storage endpoint pane and see the selections you made.

  7. Définissez l’encodage sur AVRO ou JSON.Set the encoding to AVRO or JSON. Dans ce didacticiel, utilisez les valeurs par défaut pour les autres champs.For the purpose of this tutorial, use the defaults for the rest of the fields. Ce champ est grisé si la région sélectionnée ne prend pas en charge l’encodage JSON.This field will be greyed out if the region selected does not support JSON encoding.,

    Notes

    Vous pouvez définir le format du nom de l’objet blob en utilisant le format du nom du fichier de l’objet blob.You can set the format of the blob name using the Blob file name format. Par défaut, il s’agit de {iothub}/{partition}/{YYYY}/{MM}/{DD}/{HH}/{mm}.The default is {iothub}/{partition}/{YYYY}/{MM}/{DD}/{HH}/{mm}. Le format doit contenir {iothub}, {partition}, {YYYY}, {MM}, {DD}, {HH} et {mm} dans n’importe quel ordre.The format must contain {iothub}, {partition}, {YYYY}, {MM}, {DD}, {HH}, and {mm} in any order.

    Par exemple, utilisez le format du nom de fichier de l’objet blob par défaut si le nom du hub est ContosoTestHub, et que la date/heure est le 30 octobre 2018 à 10h56. Le nom de l’objet blob ressemblera à ceci : ContosoTestHub/0/2018/10/30/10/56.For example, using the default blob file name format, if the hub name is ContosoTestHub, and the date/time is October 30, 2018 at 10:56 a.m., the blob name will look like this: ContosoTestHub/0/2018/10/30/10/56.

    Les objets blob sont écrits au format Avro.The blobs are written in the Avro format.

  8. Sélectionnez Créer pour créer le point de terminaison de stockage et l’ajouter à la route.Select Create to create the storage endpoint and add it to the route. Vous revenez au volet Ajouter une route.You return to the Add a route pane.

  9. Complétez maintenant le reste des informations de la requête de routage.Now complete the rest of the routing query information. Cette requête spécifie les critères pour l’envoi des messages au conteneur de stockage que vous venez d’ajouter comme point de terminaison.This query specifies the criteria for sending messages to the storage container you just added as an endpoint. Renseignez les champs affichés à l’écran.Fill in the fields on the screen.

    Name : entrez un nom pour votre requête de routage.Name: Enter a name for your routing query. Ce tutoriel utilise ContosoStorageRoute.This tutorial uses ContosoStorageRoute.

    Point de terminaison : ce champ présente le point de terminaison que vous venez de configurer.Endpoint: This shows the endpoint you just set up.

    Source de données : sélectionnez Messages de télémétrie des appareils dans la liste déroulante.Data source: Select Device Telemetry Messages from the dropdown list.

    Activer la route : Vérifiez que ce champ est défini sur enabled.Enable route: Be sure this field is set to enabled.

    Requête de routage : entrez level="storage" pour la chaîne de requête.Routing query: Enter level="storage" as the query string.

    Création d’une requête de routage pour le compte de stockage

    Sélectionnez Enregistrer.Select Save. Une fois l’opération terminée, vous êtes redirigé vers le volet Routage des messages, où vous pouvez voir la nouvelle requête de routage pour le stockage.When it finishes, it returns to the Message Routing pane, where you can see your new routing query for storage. Fermez le volet Itinéraires, ce qui vous redirige vers la page Groupe de ressources.Close the Routes pane, which returns you to the Resource group page.

Router vers une file d’attente Service BusRoute to a Service Bus queue

Configurez maintenant le routage pour la file d’attente Service Bus.Now set up the routing for the Service Bus queue. Vous accédez au volet Routage des messages, puis vous ajoutez une route.You go to the Message Routing pane, then add a route. Lors de l’ajout de la route, définissez un nouveau point de terminaison pour la route.When adding the route, define a new endpoint for the route. Une fois cette route configurée, les messages pour lesquels la propriété level est définie sur critical sont écrits dans la file d’attente Service Bus, qui déclenche une application logique qui envoie ensuite un e-mail avec les informations.After this route is set up, messages where the level property is set to critical are written to the Service Bus queue, which triggers a Logic App, which then sends an e-mail with the information.

  1. Dans la page Groupe de ressources, sélectionnez votre hub IoT, puis Routage des messages.On the Resource group page, select your IoT hub, then select Message Routing.

  2. Dans le volet Routage des messages, sélectionnez +Ajouter.In the Message Routing pane, select +Add.

  3. Dans le volet Ajouter une route, sélectionnez +Ajouter en regard du champ Point de terminaison.On the Add a Route pane, Select +Add next to the Endpoint field. Sélectionnez File d’attente Service Bus.Select Service Bus Queue. Vous voyez le volet Ajouter un point de terminaison Service Bus.You see the Add Service Bus Endpoint pane.

    Ajout d’un point de terminaison Service Bus

  4. Renseignez les champs :Fill in the fields:

    Nom du point de terminaison : Entrez un nom pour le point de terminaison.Endpoint Name: Enter a name for the endpoint. Ce tutoriel utilise ContosoSBQueueEndpoint.This tutorial uses ContosoSBQueueEndpoint.

    Espace de noms Service Bus : Utilisez la liste déroulante pour sélectionner l’espace de noms Service Bus que vous avez configuré lors des étapes de préparation.Service Bus Namespace: Use the dropdown list to select the service bus namespace you set up in the preparation steps. Ce didacticiel utilise ContosoSBNamespace.This tutorial uses ContosoSBNamespace.

    File d'attente Service Bus : Utilisez la liste déroulante pour sélectionner la file d’attente Service Bus.Service Bus queue: Use the dropdown list to select the Service Bus queue. Ce didacticiel utilise contososbqueue.This tutorial uses contososbqueue.

  5. Sélectionnez Créer pour ajouter le point de terminaison de file d’attente Service Bus.Select Create to add the Service Bus queue endpoint. Vous revenez au volet Ajouter une route.You return to the Add a route pane.

  6. Vous complétez maintenant le reste des informations de la requête de routage.Now you complete the rest of the routing query information. Cette requête spécifie les critères pour l’envoi des messages à la file d’attente Service Bus que vous venez d’ajouter comme point de terminaison.This query specifies the criteria for sending messages to the Service Bus queue you just added as an endpoint. Renseignez les champs affichés à l’écran.Fill in the fields on the screen.

    Name : entrez un nom pour votre requête de routage.Name: Enter a name for your routing query. Ce tutoriel utilise ContosoSBQueueRoute.This tutorial uses ContosoSBQueueRoute.

    Point de terminaison : ce champ présente le point de terminaison que vous venez de configurer.Endpoint: This shows the endpoint you just set up.

    Source de données : sélectionnez Messages de télémétrie des appareils dans la liste déroulante.Data source: Select Device Telemetry Messages from the dropdown list.

    Requête de routage : entrez level="critical" pour la chaîne de requête.Routing query: Enter level="critical" as the query string.

    Créer une requête de routage pour la file d’attente Service Bus

  7. Sélectionnez Enregistrer.Select Save. Quand vous êtes redirigé vers le volet Routes, vous voyez vos deux nouvelles routes, comme illustré ici.When it returns to the Routes pane, you see both of your new routes, as displayed here.

    Les routes que vous venez de configurer

  8. Vous pouvez voir les points de terminaison personnalisés que vous avez configurés en sélectionnant l’onglet Points de terminaison personnalisés.You can see the custom endpoints you set up by selecting the Custom Endpoints tab.

    Le point de terminaison que vous venez de configurer

  9. Fermez le volet Routage des messages pour revenir au volet Groupe de ressources.Close the Message Routing pane, which returns you to the Resource group pane.

Créez un appareil simulé.Create a simulated device

Ensuite, créez une identité d’appareil et enregistrez sa clé pour une utilisation ultérieure.Next, create a device identity and save its key for later use. Cette identité d’appareil est utilisée par l’application de simulation pour envoyer des messages à IoT Hub.This device identity is used by the simulation application to send messages to the IoT hub. Cette fonctionnalité n’est pas disponible dans PowerShell ou quand vous utilisez un modèle Azure Resource Manager.This capability is not available in PowerShell or when using an Azure Resource Manager template. Les étapes suivantes vous expliquent comment créer l’appareil simulé à partir du portail Azure.The following steps tell you how to create the simulated device using the Azure portal.

  1. Ouvrez le portail Azure et connectez-vous à votre compte Azure.Open the Azure portal and log into your Azure account.

  2. Sélectionnez Groupes de ressources, puis choisissez votre groupe de ressources.Select Resource groups and then choose your resource group. Ce didacticiel utilise ContosoResources.This tutorial uses ContosoResources.

  3. Dans la liste des ressources, sélectionnez votre hub IoT.In the list of resources, select your IoT hub. Ce didacticiel utilise ContosoTestHub.This tutorial uses ContosoTestHub. Sélectionnez Appareils IoT dans le volet Hub.Select IoT Devices from the Hub pane.

  4. Sélectionnez Ajouter.Select + Add. Dans le volet Ajouter un appareil, indiquez l’ID d’appareil.On the Add Device pane, fill in the device ID. Ce didacticiel utilise Contoso-Test-Device.This tutorial uses Contoso-Test-Device. N’indiquez pas de clés et cochez l’option Générer automatiquement les clés.Leave the keys empty, and check Auto Generate Keys. Vérifiez que l’option Connecter l’appareil à IoT Hub est activée.Make sure Connect device to IoT hub is enabled. Sélectionnez Enregistrer.Select Save.

    Écran d’ajout d’appareil

  5. Maintenant que l’appareil est créé, sélectionnez-le pour voir les clés générées.Now that it's been created, select the device to see the generated keys. Sélectionnez l’icône de copie de la clé primaire et enregistrez-la quelque part (dans le Bloc-notes par exemple) pour l’utiliser lors de la phase de test de ce tutoriel.Select the Copy icon on the Primary key and save it somewhere such as Notepad for the testing phase of this tutorial.

    Détails de l’appareil, notamment les clés

Étapes suivantesNext steps

Maintenant que vous avez terminé la configuration des ressources et des routes des messages, passez au tutoriel suivant pour découvrir comment envoyer des messages au hub IoT et visualiser les routes qu’ils empruntent vers les différentes destinations.Now that you have the resources set up and the message routes configured, advance to the next tutorial to learn how to send messages to the IoT hub and see them be routed to the different destinations.