Partager via


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.

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 :

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.

  1. 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.

  2. 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}
    
  3. 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

  1. 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
    
  2. 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.