Share via


Guia de início rápido: Configurar o DPS (Serviço de Provisionamento de Dispositivos) no Hub IoT com Bicep

É possível usar um arquivo Bicep para configurar programaticamente os recursos de nuvem do Azure necessários para o provisionamento dos dispositivos. Essas etapas mostram como criar um hub IoT e uma instância de Serviço de Provisionamento de Dispositivos no Hub IoT com um arquivo Bicep. O Hub IoT também é vinculado ao recurso de DPS usando o arquivo Bicep. Essa vinculação permite que o recurso de DPS atribua dispositivos ao hub com base nas políticas de alocação que você configura.

O Bicep é um DSL (linguagem específica de domínio) que usa sintaxe declarativa para implantar recursos do Azure. Ele fornece sintaxe concisa, segurança de tipos confiável e suporte para reutilização de código. O Bicep oferece a melhor experiência de criação para suas soluções de infraestrutura como código no Azure.

Este guia de início rápido usa o Azure PowerShell e a CLI do Azure para executar as etapas programáticas necessárias para criar um grupo de recursos e implantar o arquivo Bicep, mas você pode facilmente usar o .NET, o Ruby ou outras linguagens de programação para executar essas etapas e implantar o seu arquivo Bicep.

Pré-requisitos

Caso você não tenha uma assinatura do Azure, crie uma conta gratuita do Azure antes de começar.

Examinar o arquivo Bicep

O arquivo Bicep usado neste guia de início rápido vem dos Modelos de início rápido do Azure.

Observação

Atualmente, não há nenhum suporte de arquivo Bicep para criar registros com novos recursos do DPS. Essa é uma solicitação comum e compreendida que está sendo considerada para implementação.

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

Há dois recursos do Azure definidos no arquivo Bicep acima:

Salve uma cópia do arquivo Bicep localmente como main.bicep.

Implante o arquivo Bicep

Entre na sua conta do Azure e selecione sua assinatura.

  1. Entre no Azure por meio do prompt de comando:

    az login
    

    Siga as instruções de autenticação usando o código e entre em sua conta do Azure por meio de um navegador da Web.

  2. Se você tiver várias assinaturas do Azure, entrar o Azure lhe dará acesso a todas as contas do Azure associadas às suas credenciais.

    az account list -o table
    

    Use o comando a seguir para selecionar a assinatura que deseja usar para executar os comandos e criar o hub IoT e os recursos de DPS. Você pode usar a ID ou nome da assinatura da saída do comando anterior:

    az account set --subscription {your subscription name or id}
    
  3. Implante o arquivo Bicep com os comandos a seguir.

    Dica

    Os comandos solicitarão uma localização do grupo de recursos. Você pode ver uma lista dos locais disponíveis executando primeiro o 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}
    

    Substitua {IoT-Hub-name} por um nome de Hub IoT globalmente exclusivo, substitua {DPS-name} por um nome de recurso de DPS (Serviço de Provisionamento de Dispositivos) globalmente exclusivo.

    São necessários alguns instantes para a criação dos recursos.

Examinar os recursos implantados

  1. Para verificar a implantação, execute o seguinte comando e procure pelo novo serviço de provisionamento e pelo hub IoT na saída:

     az resource list -g exampleRg
    
  2. Para verificar se o hub já está vinculado ao recurso de DPS, execute o seguinte comando.

    az iot dps show --name <Your provisioningServiceName>
    

Limpar os recursos

Outros inícios rápidos nessa coleção aproveitam esse início rápido. Se você planeja continuar trabalhando com os inícios rápidos subsequentes ou os tutoriais, não limpe os recursos criados neste início rápido. Caso contrário, é possível usar o Azure PowerShell ou a CLI do Azure para excluir o grupo de recursos e todos os recursos dele.

Para excluir um grupo de recursos e todos os recursos dele por meio do portal do Azure, basta abrir o grupo de recursos e clicar em Excluir grupo de recursos na parte superior.

Para excluir o grupo de recursos implantado:

az group delete --name exampleRG

Também é possível excluir grupos de recursos e recursos individuais usando o portal do Azure, o PowerShell, as APIs REST ou os SDKs de plataforma com suporte.

Próximas etapas

Neste início rápido, você implantou um hub IoT e uma instância do Serviço de Provisionamento de Dispositivos e vinculou os dois recursos. Para aprender a usar essa configuração a fim de provisionar um dispositivo, prossiga para o Início Rápido de criação de dispositivo.