Compartir a través de


Inicio rápido: Configuración de IoT Hub Device Provisioning Service (DPS) con Bicep

Puede utilizar un archivo de Bicep para configurar mediante programación los recursos de nube de Azure necesarios para aprovisionar los dispositivos. En estos pasos se muestra cómo crear un centro de IoT y una nueva instancia de IoT Hub Device Provisioning Service con un archivo de Bicep. El IoT Hub también se vincula al recurso de DPS mediante un archivo de Bicep. le permite asignar dispositivos al centro en función de las directivas de asignación configuradas.

Bicep es un lenguaje específico de dominio (DSL) que usa una sintaxis declarativa para implementar recursos de Azure. Brinda sintaxis concisa, seguridad de tipos confiable y compatibilidad con la reutilización de código. Bicep ofrece la mejor experiencia de creación para sus soluciones de infraestructura como código en Azure.

En este inicio rápido se usa Azure PowerShell y la CLI de Azure para realizar los pasos de programación necesarios para crear un grupo de recursos e implementar el archivo de Bicep, pero se puede usar también .NET, Ruby u otros lenguajes de programación.

Requisitos previos

Si no tiene una suscripción a Azure, cree una cuenta gratuita de Azure antes de empezar.

Revisión del archivo de Bicep

El archivo de Bicep usado en este inicio rápido forma parte de las plantillas de inicio rápido de Azure.

Nota

Actualmente no se pueden crear inscripciones con nuevos recursos de DPS mediante archivos de Bicep. Se trata de una petición común y comprensible que se está considerando implementar.

@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
      }
    ]
  }
}

En el archivo de Bicep anterior, se definen dos recursos de Azure:

Guarde una copia del archivo de Bicep localmente como main.bicep.

Implementación del archivo de Bicep

Inicie sesión en la cuenta de Azure y seleccione su suscripción.

  1. Inicie sesión en Azure en el símbolo del sistema:

    az login
    

    Siga las instrucciones para realizar la autenticación mediante el código e inicie sesión en la cuenta de Azure a través de un explorador web.

  2. Si tiene varias suscripciones de Azure, iniciar sesión en Azure le concede acceso a todas las cuentas de Azure asociadas con las credenciales.

    az account list -o table
    

    Use el siguiente comando para seleccionar la suscripción que quiere usar para ejecutar los comandos con los que se crearán el centro de IoT y los recursos de DPS. Puede usar el nombre de la suscripción o el identificador de la salida del comando anterior:

    az account set --subscription {your subscription name or id}
    
  3. Implemente el archivo de Bicep con los siguientes comandos.

    Sugerencia

    Los comandos solicitarán la ubicación del grupo de recursos. Para ver una lista de las ubicaciones disponibles, ejecute primero el comando:

    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}
    

    Reemplace {IoT-Hub-name} por un nombre de IoT Hub único global, reemplace {DPS-name} por un nombre de recurso de Device Provisioning Service (DPS) único globalmente.

    La creación del recurso tarda algunos minutos.

Revisión de los recursos implementados

  1. Para comprobar la implementación, ejecute el siguiente comando y busque el nuevo servicio de aprovisionamiento y el centro de IoT en la salida:

     az resource list -g exampleRg
    
  2. Para comprobar que el centro ya está vinculado al recurso de DPS, ejecute el siguiente comando.

    az iot dps show --name <Your provisioningServiceName>
    

Limpieza de recursos

Otras guías de inicio rápido de esta colección se basan en los valores de esta. Si tiene previsto seguir trabajando con los siguientes inicios rápidos o tutoriales, no elimine los recursos creados en este inicio rápido. Si no tiene previsto continuar, puede usar Azure PowerShell o la CLI de Azure para eliminar el grupo de recursos y todos sus recursos.

Para eliminar un grupo de recursos y todos sus recursos desde Azure Portal, simplemente abra el grupo de recursos y seleccione Eliminar grupo de recursos en la parte superior.

Para eliminar el grupo de recursos implementado:

az group delete --name exampleRG

También puede eliminar grupos de recursos y recursos individuales mediante Azure Portal, PowerShell, las API REST o con los SDK compatibles con la plataforma.

Pasos siguientes

En este inicio rápido, ha implementado un centro de IoT y una instancia de Device Provisioning Service, y ha vinculado los dos recursos. Para saber cómo usar esta configuración para aprovisionar un dispositivo, vaya al inicio rápido en el que se explica cómo crear un dispositivo.