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.
Use el entorno de Bash en Azure Cloud Shell. Para más información, consulte Inicio rápido para Bash en Azure Cloud Shell.
Si prefiere ejecutar comandos de referencia de la CLI localmente, instale la CLI de Azure. Si utiliza Windows o macOS, considere la posibilidad de ejecutar la CLI de Azure en un contenedor Docker. Para más información, vea Ejecución de la CLI de Azure en un contenedor de Docker.
Si usa una instalación local, inicie sesión en la CLI de Azure mediante el comando az login. Siga los pasos que se muestran en el terminal para completar el proceso de autenticación. Para ver otras opciones de inicio de sesión, consulte Inicio de sesión con la CLI de Azure.
En caso de que se le solicite, instale las extensiones de la CLI de Azure la primera vez que la use. Para más información sobre las extensiones, consulte Uso de extensiones con la CLI de Azure.
Ejecute az version para buscar cuál es la versión y las bibliotecas dependientes que están instaladas. Para realizar la actualización a la versión más reciente, ejecute az upgrade.
- Si opta por usar Azure PowerShell en un entorno local:
- Instale la versión más reciente del módulo Az de PowerShell.
- Conéctese a su cuenta de Azure mediante el cmdlet Connect-AzAccount.
- Si decide usar Azure Cloud Shell:
- Para más información, consulte Introducción a Azure Cloud Shell.
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:
- Microsoft.Devices/iothubs: crea un centro de IoT de Azure.
- Microsoft.Devices/provisioningservices: crea una instancia de Azure IoT Hub Device Provisioning Service con el nuevo centro de IoT ya vinculado.
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.
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.
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}
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
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
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.