Share via


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

Você pode usar um arquivo Bicep para configurar programaticamente os recursos de nuvem do Azure necessários para provisionar seus dispositivos. Estas etapas mostram como criar um hub IoT e uma nova instância do Serviço de Provisionamento de Dispositivo do Hub IoT com um arquivo Bicep. O Hub IoT também está vinculado ao recurso DPS usando o arquivo Bicep. Essa vinculação permite que o recurso DPS atribua dispositivos ao hub com base nas políticas de alocação configuradas.

O Bicep é uma linguagem específica do domínio que utiliza sintaxe declarativa para implementar recursos do Azure. Fornece sintaxe concisa, segurança de tipos fiá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 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 .NET, Ruby ou outras linguagens de programação para executar essas etapas e implantar seu arquivo Bicep.

Pré-requisitos

Se não tiver uma subscrição do Azure, crie uma conta gratuita do Azure antes de começar.

  • Use o ambiente Bash no Azure Cloud Shell. Para obter mais informações, consulte Guia de início rápido para Bash no Azure Cloud Shell.

  • Se preferir executar comandos de referência da CLI localmente, instale a CLI do Azure. Se estiver a utilizar o Windows ou macOS, considere executar a CLI do Azure num contentor Docker. Para obter mais informações, consulte Como executar a CLI do Azure em um contêiner do Docker.

    • Se estiver a utilizar uma instalação local, inicie sessão no CLI do Azure ao utilizar o comando az login. Para concluir o processo de autenticação, siga os passos apresentados no seu terminal. Para outras opções de entrada, consulte Entrar com a CLI do Azure.

    • Quando solicitado, instale a extensão da CLI do Azure na primeira utilização. Para obter mais informações sobre as extensões, veja Utilizar extensões com o CLI do Azure.

    • Execute o comando az version para localizar a versão e as bibliotecas dependentes instaladas. Para atualizar para a versão mais recente, execute o comando az upgrade.

Revise o arquivo Bicep

O arquivo Bicep usado neste início rápido é de Modelos de Início Rápido do Azure.

Nota

Atualmente, não há suporte a arquivos Bicep para criar inscrições com novos recursos do DPS. Este é um pedido comum e compreendido que está a ser considerado 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
      }
    ]
  }
}

Dois recursos do Azure são definidos no arquivo Bicep acima:

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

Implantar o arquivo Bicep

Inicie sessão na sua conta do Azure e selecione a sua subscrição.

  1. Entre no Azure no prompt de comando:

    az login
    

    Siga as instruções para se autenticar com o código e inicie sessão na sua conta do Azure através de um browser.

  2. Se tiver várias subscrições do Azure, iniciar sessão no Azure dá-lhe 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 você deseja usar para executar os comandos para criar seu hub IoT e recursos DPS. Pode utilizar o nome ou o ID da subscrição da saída do comando anterior:

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

    Gorjeta

    Os comandos solicitarão um local de grupo de recursos. Você pode exibir uma lista de 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 Serviço de Provisionamento de Dispositivo (DPS) globalmente exclusivo.

    Leva alguns momentos para criar os recursos.

Rever os recursos implementados

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

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

    az iot dps show --name <Your provisioningServiceName>
    

Clean up resources (Limpar recursos)

Outros guias de introdução desta coleção têm por base este guia de introdução. Se você planeja continuar a trabalhar com inícios rápidos subsequentes ou com os tutoriais, não limpe os recursos criados neste início rápido. Se você não planeja continuar, pode usar o Azure PowerShell ou a CLI do Azure para excluir o grupo de recursos e todos os seus recursos.

Para excluir um grupo de recursos e todos os seus recursos do portal do Azure, basta abrir o grupo de recursos e selecionar Excluir grupo de recursos e a parte superior.

Para excluir o grupo de recursos implantado:

az group delete --name exampleRG

Você também pode excluir grupos de recursos e recursos individuais usando o portal do Azure, PowerShell ou APIs REST, ou com SDKs de plataforma suportados.

Próximos passos

Neste início rápido, você implantou um hub IoT e uma instância do Serviço de Provisionamento de Dispositivo e vinculou os dois recursos. Para saber como usar essa configuração para provisionar um dispositivo, continue para o início rápido para criar um dispositivo.