你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
快速入门:使用 Bicep 设置 IoT 中心设备预配服务 (DPS)
可以使用 Bicep 文件以编程方式设置预配设备所需的 Azure 云资源。 这些步骤显示如何使用 Bicep 文件创建 IoT 中心和新的 IoT 中心设备预配服务实例。 也使用 Bicep 文件将 IoT 中心链接到 DPS 资源。 此链接支持 DPS 资源根据配置的分配策略将设备分配到中心。
Bicep 是一种特定于域的语言 (DSL),使用声明性语法来部署 Azure 资源。 它提供简明的语法、可靠的类型安全性以及对代码重用的支持。 Bicep 会针对你的 Azure 基础结构即代码解决方案提供最佳创作体验。
本快速入门使用 Azure PowerShell 和 Azure CLI 执行创建资源组和部署 Bicep 文件所需的编程步骤,但可以轻松使用. NET、Ruby 或其他编程语言来执行这些步骤并部署 Bicep 文件。
先决条件
如果没有 Azure 订阅,请在开始之前创建一个 Azure 免费帐户。
在 Azure Cloud Shell 中使用 Bash 环境。 有关详细信息,请参阅 Azure Cloud Shell 中的 Bash 快速入门。
如需在本地运行 CLI 参考命令,请安装 Azure CLI。 如果在 Windows 或 macOS 上运行,请考虑在 Docker 容器中运行 Azure CLI。 有关详细信息,请参阅如何在 Docker 容器中运行 Azure CLI。
如果使用的是本地安装,请使用 az login 命令登录到 Azure CLI。 若要完成身份验证过程,请遵循终端中显示的步骤。 有关其他登录选项,请参阅使用 Azure CLI 登录。
出现提示时,请在首次使用时安装 Azure CLI 扩展。 有关扩展详细信息,请参阅使用 Azure CLI 的扩展。
运行 az version 以查找安装的版本和依赖库。 若要升级到最新版本,请运行 az upgrade。
- 如果选择在本地使用 Azure PowerShell:
- 安装最新版本的 Az PowerShell 模块。
- 使用 Connect-AzAccount cmdlet 连接到 Azure 帐户。
- 如果选择使用 Azure Cloud Shell:
- 有关详细信息,请参阅 Azure Cloud Shell 概述。
查阅 Bicep 文件
本快速入门中使用的 Bicep 文件来自 Azure 快速入门模板。
注意
目前没有 Bicep 文件支持使用新的 DPS 资源创建注册。 关于此功能的请求很常见,我们已知晓,且正在考虑实现它。
@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
}
]
}
}
上述 Bicep 文件中定义了两个 Azure 资源:
- Microsoft.Devices/iothubs:创建新 Azure IoT 中心。
- Microsoft.Devices/provisioningservices:创建新的 Azure IoT 中心设备预配服务,其中新 IoT 中心已链接到该服务。
在本地将 Bicep 文件的副本保存为 main.bicep。
部署 Bicep 文件
登录到 Azure 帐户,并选择订阅。
在命令提示符处登录到 Azure:
az login
按照说明使用代码进行身份验证,并通过 Web 浏览器登录 Azure 帐户。
如果有多个 Azure 订阅,登录 Azure 可获得与凭据关联的所有 Azure 帐户的访问权限。
az account list -o table
使用以下命令,选择想要用于运行命令以创建 IoT 中心和 DPS 资源的订阅。 可使用上一命令输出中的订阅名称或 ID:
az account set --subscription {your subscription name or id}
使用以下命令部署 Bicep 文件。
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}
将 {IoT-Hub-name} 替换为全局唯一的 IoT 中心名称,将 {DPS-name} 替换为全局唯一的设备预配服务 (DPS) 资源名称。
创建资源需要花费片刻时间。
查看已部署的资源
若要验证部署,请运行以下命令并在输出中查找新的配置服务和 IoT 中心:
az resource list -g exampleRg
若要验证中心是否已链接到 DPS 资源,请运行以下命令。
az iot dps show --name <Your provisioningServiceName>
清理资源
本教程系列中的其他快速入门教程是在本文的基础上制作的。 如果打算继续学习后续的快速入门或相关教程,请不要清理在本快速入门中创建的资源。 如果不打算继续,可以使用 Azure PowerShell 或 Azure CLI 删除资源组及其所有资源。
若要从 Azure 门户中删除资源组及其所有资源,只需打开资源组并选择顶部的“删除资源组”。
删除部署的资源组:
az group delete --name exampleRG
也可以使用 Azure 门户、PowerShell 或 REST API,或者使用受支持的平台 SDK,来删除资源组和单个资源。
后续步骤
在本快速入门中,你已部署 IoT 中心和设备预配服务实例,并链接了这两个资源。 若要了解如何使用此设置来预配设备,请继续学习本快速入门中关于如何创建设备的内容。