Démarrage rapide : Configurer le service IoT Hub Device Provisioning avec Bicep
Vous pouvez utiliser un fichier Bicep pour configurer par programme les ressources du cloud Azure nécessaires à l’approvisionnement de vos appareils. Ces étapes montrent comment créer un hub IoT et une instance de service IoT Hub Device Provisioning avec un fichier Bicep. Le hub IoT est également lié à la ressource DPS utilisant le fichier Bicep. Cette liaison permet à la ressource DPS d’affecter des appareils au hub en fonction des stratégies d’allocation que vous configurez.
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.
Ce guide de démarrage rapide utilise Azure PowerShell et l’interface de ligne de commande Azure CLI pour effectuer les étapes de programmation nécessaires pour créer un groupe de ressources et déployer le fichier Bicep. Cependant, vous pouvez facilement utiliser .NET, Ruby ou d’autres langages de programmation pour effectuer ces étapes et déployer votre fichier Bicep.
Prérequis
Si vous n’avez pas d’abonnement Azure, créez un compte gratuit Azure avant de commencer.
Utilisez l’environnement Bash dans Azure Cloud Shell. Pour plus d’informations, consultez Démarrage rapide pour Bash dans Azure Cloud Shell.
Si vous préférez exécuter les commandes de référence de l’interface de ligne de commande localement, installez l’interface Azure CLI. Si vous exécutez sur Windows ou macOS, envisagez d’exécuter Azure CLI dans un conteneur Docker. Pour plus d’informations, consultez Guide pratique pour exécuter Azure CLI dans un conteneur Docker.
Si vous utilisez une installation locale, connectez-vous à Azure CLI à l’aide de la commande az login. Pour finir le processus d’authentification, suivez les étapes affichées dans votre terminal. Pour connaître les autres options de connexion, consultez Se connecter avec Azure CLI.
Lorsque vous y êtes invité, installez l’extension Azure CLI lors de la première utilisation. Pour plus d’informations sur les extensions, consultez Utiliser des extensions avec Azure CLI.
Exécutez az version pour rechercher la version et les bibliothèques dépendantes installées. Pour effectuer une mise à niveau vers la dernière version, exécutez az upgrade.
- Si vous choisissez d’utiliser Azure PowerShell localement :
- Installez la dernière version du module Az PowerShell.
- Connectez-vous à votre compte Azure à l’aide de la cmdlet Connect-AzAccount.
- Si vous choisissez d’utiliser Azure Cloud Shell :
- Pour plus d’informations, consultez Vue d’ensemble d’Azure Cloud Shell.
Examiner le fichier Bicep
Le fichier Bicep utilisé dans ce guide de démarrage rapide est tiré des modèles de démarrage rapide Azure.
Notes
Actuellement, le fichier Bicep n’est pas pris en charge pour la création d’inscriptions avec de nouvelles ressources DPS. Il s’agit d’une demande fréquente et comprise que nous envisageons d’implémenter dans le futur.
@description('Specify the name of the Iot hub.')
param iotHubName string
@description('Specify the name of the provisioning service.')
param provisioningServiceName string
@description('Specify the location of the resources.')
param location string = resourceGroup().location
@description('The SKU to use for the IoT Hub.')
param skuName string = 'S1'
@description('The number of IoT Hub units.')
param skuUnits int = 1
var iotHubKey = 'iothubowner'
resource iotHub 'Microsoft.Devices/IotHubs@2021-07-02' = {
name: iotHubName
location: location
sku: {
name: skuName
capacity: skuUnits
}
properties: {}
}
resource provisioningService 'Microsoft.Devices/provisioningServices@2022-02-05' = {
name: provisioningServiceName
location: location
sku: {
name: skuName
capacity: skuUnits
}
properties: {
iotHubs: [
{
connectionString: 'HostName=${iotHub.properties.hostName};SharedAccessKeyName=${iotHubKey};SharedAccessKey=${iotHub.listkeys().value[0].primaryKey}'
location: location
}
]
}
}
Deux ressources Azure sont définies dans le fichier Bicep ci-dessus :
- Microsoft.Devices/iothubs : Crée un hub IoT Azure.
- Microsoft.Devices/provisioningservices : Crée un service Azure IoT Hub Device Provisioning avec le hub IoT nouveau qui lui est déjà lié.
Enregistrer une copie du fichier Bicep localement en tant que main.bicep.
Déployer le fichier Bicep
Vous connecter à votre compte Azure et sélectionner votre abonnement.
Connectez-vous à Azure à l’invite de commandes :
az login
Suivez les instructions pour vous authentifier à l’aide du code et vous connecter à votre compte Azure via un navigateur web.
Si vous possédez plusieurs abonnements Azure, la connexion à Azure vous donne accès à tous les abonnements Azure associés à vos informations d’identification.
az account list -o table
Utilisez la commande suivante pour sélectionner l’abonnement que vous souhaitez utiliser pour exécuter les commandes en vue de créer votre hub IoT et vos ressources DPS. Vous pouvez utiliser le nom de l’abonnement ou l’ID de la sortie de la commande précédente :
az account set --subscription {your subscription name or id}
Déployez le fichier Bicep avec les commandes suivantes.
Conseil
Les commandes vous invitent à entrer un emplacement de groupe de ressources. Vous pouvez afficher la liste des emplacements disponibles en exécutant d’abord la commande :
az account list-locations -o table
az group create --name exampleRG --location eastus az deployment group create --resource-group exampleRG --template-file main.bicep --parameters iotHubName={IoT-Hub-name} provisioningServiceName={DPS-name}
Remplacez {IoT-Hub-name} par un nom de IoT Hub global unique, remplacez {DPS-name} par un nom de ressource DPS (Device Provisioning Service) global unique.
Quelques instants sont nécessaires pour créer les ressources.
Vérifier les ressources déployées
Pour vérifier le déploiement, exécutez la commande suivante pour lister les ressources et recherchez le nouveau service de provisionnement et le hub IoT dans la sortie :
az resource list -g exampleRg
Pour vérifier que le hub est déjà lié à la ressource DPS, exécutez la commande suivante.
az iot dps show --name <Your provisioningServiceName>
Nettoyer les ressources
Les autres démarrages rapides de cette collection reposent sur ce démarrage rapide. Si vous souhaitez continuer à utiliser d’autres démarrages rapides ou les didacticiels, ne nettoyez pas les ressources créées lors de ce démarrage rapide. Si vous n’envisagez pas de continuer, vous pouvez utiliser Azure PowerShell or Azure CLI pour supprimer le groupe de ressources et toutes ses ressources.
Pour supprimer un groupe de ressources et toutes ses ressources à partir du portail Azure, ouvrez simplement le groupe de ressources, puis sélectionnez Supprimer le groupe de ressources dans la partie supérieure.
Pour supprimer le groupe de ressources déployé :
az group delete --name exampleRG
Vous pouvez également supprimer des groupes de ressources et des ressources individuelles à l’aide du portail Azure, de PowerShell ou des API REST ou avec les Kits de développement logiciel (SDK) de plateforme prise en charge.
Étapes suivantes
Dans ce guide de démarrage rapide, vous avez déployé un hub IoT et une instance du service Device Provisioning, puis vous avez lié ces deux ressources. Pour savoir comment utiliser cette configuration pour provisionner un appareil, passez au démarrage rapide traitant de la création d’un appareil.