Démarrage rapide : Déployer un hub Azure IoT et un compte de stockage à l'aide de Bicep
Article
Dans ce guide de démarrage rapide, vous utilisez Bicep pour créer un hub IoT, un compte de stockage Azure et un itinéraire afin d’envoyer des messages du hub IoT au stockage. Le hub est configuré de sorte que les messages qui lui sont envoyés sont automatiquement routés vers le compte de stockage s’ils remplissent la condition de routage. À la fin de ce guide de démarrage rapide, vous pouvez ouvrir le compte de stockage et voir les messages envoyés.
Bicep est un langage spécifique à un domaine (DSL) qui utilise la syntaxe déclarative pour déployer des ressources Azure. Il fournit une syntaxe concise, une cohérence des types fiable et une prise en charge de la réutilisation du code. Bicep offre la meilleure expérience de création pour vos solutions d’infrastructure en tant que code dans Azure.
Prérequis
Si vous n’avez pas d’abonnement Azure, créez un compte Azure gratuit avant de commencer.
Microsoft.Devices/IotHubs: un hub IoT avec un point de terminaison qui pointe vers le conteneur de stockage et un itinéraire pour envoyer des messages filtrés à ce point de terminaison.
Cette section fournit les étapes de déploiement du fichier Bicep.
Téléchargez le fichier main.bicep à partir du référentiel de modèles du guide démarrage rapide Azure.
Créez les ressources en déployant le fichier Bicep à l’aide d’Azure CLI.
Azure CLI
az group create --name ContosoResourceGrp --location eastus
az deployment group create --resource-group exampleRG --template-file main.bicep
Le déploiement prend plusieurs minutes. Une fois le déploiement terminé, vous devez voir la sortie détaillant les ressources déployées.
Envoyer des messages appareil-à-cloud
Dans cette section, vous inscrivez un appareil dans votre nouveau hub IoT, puis envoyez des messages de cet appareil au hub IoT. L’itinéraire que le fichier Bicep a configuré dans le hub IoT envoie uniquement des messages au stockage s’ils contiennent la propriété de message level=storage. Pour tester que cette condition de routage fonctionne comme prévu, nous allons envoyer des messages avec cette propriété et d’autres sans elle.
Conseil
Ce guide de démarrage rapide utilise l’appareil simulé Azure CLI pour des raisons pratiques. Pour obtenir un exemple de code d’envoi de messages appareil-à-cloud avec des propriétés de message pour le routage, consultez HubRoutingSample dans le Kit de développement logiciel (SDK) Azure IoT pour .NET.
Récupérez le nom du hub IoT que le modèle a créé pour vous.
Si vous avez utilisé les commandes par défaut dans la section précédente, vos ressources ont été créées dans le groupe de ressources ContosoResourceGrp . Si vous avez utilisé un autre groupe de ressources, mettez à jour la commande suivante pour qu’elle y corresponde.
Azure CLI
az iot hub list --resource-group ContosoResourceGrp --output table
Copiez le nom de votre hub IoT à partir de la sortie. Le format utilisé devrait être le suivant : contosoHub{randomidentifier}
Ajoutez un appareil au hub.
Azure CLI
az iot hub device-identity create --device-id contosoDevice --hub-name {YourIoTHubName}
Simulez l’appareil et envoyez des messages appareil-à-cloud.
Le paramètre --data nous permet de définir le corps du message.
Azure CLI
az iot device simulate \
--device-id contosoDevice \
--hub-name {YourIoTHubName} \
--data"This message won't be routed."
Le simulateur envoie 100 messages, puis se déconnecte. Dans le cadre de ce démarrage rapide, vous n’avez pas besoin d’attendre l’envoi de la totalité des messages.
Conseil
Azure CLI n’imprime pas les messages à mesure qu’il les envoie. Si vous souhaitez surveiller les messages au fur et à mesure qu’ils arrivent à votre hub, vous pouvez installer l’extension Azure IoT Hub pour Visual Studio Code et l’utiliser pour surveiller le point de terminaison intégré.
Envoyer des messages appareil-à-cloud à router vers le stockage.
Le paramètre --properties nous permet d’ajouter des propriétés système, application ou message au message par défaut. Pour ce guide de démarrage rapide, l’itinéraire dans votre hub IoT recherche des messages qui contiennent la propriété de message level=storage.
Azure CLI
az iot device simulate \
--device-id contosoDevice \
--hub-name {YourIoTHubName} \
--propertieslevel=storage \
--data"This message will be routed to storage."
Évaluez les messages routés
Connectez-vous au portail Azure, sélectionnez le groupe de ressources, puis le compte de stockage.
Explorez le compte de stockage jusqu’à trouver les fichiers.
Sélectionnez un des fichiers et sélectionnez Télécharger, puis téléchargez le fichier à un emplacement que vous pouvez retrouver ultérieurement. Son nom est un nombre, par exemple 47. Ajoutez .txt à la fin, puis double-cliquez sur le fichier pour l’ouvrir.
Lorsque vous ouvrez le fichier, chaque ligne correspond à un message distinct. Le corps de chaque message est également chiffré. Il doit vous permettre d’effectuer des requêtes sur le corps du message.
Notes
Ces messages sont encodés au format UTF-8 et base64. Si vous relisez le message, vous devez le décoder des formats base64 et UTF-8 pour pouvoir lire au format ASCII. Si vous êtes intéressé, vous pouvez utiliser la méthode ReadOneRowFromFile du tutoriel Routage pour en lire un depuis un de ces fichiers de messages et le décoder en ASCII. ReadOneRowFromFile se trouve dans le référentiel du Kit de développement logiciel (SDK) C# IoT que vous avez décompressé pour ce démarrage rapide. Voici le chemin d’accès à partir du haut de ce dossier : ./iothub/device/samples/how to guides/HubRoutingSample/Program.cs. Définissez le booléen readTheFile sur true et codez en dur le chemin d’accès au fichier sur le disque. Il ouvrira et traduira la première ligne du fichier.
Dans ce guide de démarrage rapide, vous avez déployé un fichier Bicep pour créer un hub IoT et un compte de stockage, puis vous avez exécuté un programme pour envoyer des messages au hub. Les messages sont routés en fonction de leurs propriétés de message et stockés dans le compte de stockage où ils peuvent être affichés.
Nettoyer les ressources
Quand vous n’avez plus besoin des ressources que vous avez créées, supprimez le groupe de ressources.
Générez des solutions de bout en bout dans Microsoft Azure pour créer des fonctions Azure Functions, implémenter et gérer des applications web, développer des solutions qui utilisent le Stockage Azure, et bien plus encore.