Delen via


Quickstart: IoT Hub Device Provisioning Service (DPS) instellen met Bicep

U kunt een Bicep-bestand gebruiken om programmatisch de Azure-cloudresources in te stellen die nodig zijn voor het inrichten van uw apparaten. Deze stappen laten zien hoe u een IoT-hub en een nieuw IoT Hub Device Provisioning Service-exemplaar maakt met een Bicep-bestand. De IoT Hub is ook gekoppeld aan de DPS-resource met behulp van het Bicep-bestand. Met deze koppeling kan de DPS-resource apparaten toewijzen aan de hub op basis van het toewijzingsbeleid dat u configureert.

Bicep is een domeinspecifieke taal (DSL) die declaratieve syntaxis gebruikt om Azure-resources te implementeren. Deze taal voorziet in een beknopte syntaxis, betrouwbare typeveiligheid en ondersteuning voor hergebruik van code. Bicep biedt de beste ontwerpervaring voor uw infrastructuur als code-oplossingen in Azure.

In deze quickstart worden Azure PowerShell en de Azure CLI gebruikt om de programmatische stappen uit te voeren die nodig zijn om een resourcegroep te maken en het Bicep-bestand te implementeren, maar u kunt eenvoudig .NET, Ruby of andere programmeertalen gebruiken om deze stappen uit te voeren en uw Bicep-bestand te implementeren.

Vereisten

Als u geen Azure-abonnement hebt, kunt u een gratis Azure-account maken voordat u begint.

Het Bicep-bestand controleren

Het Bicep-bestand dat in deze quickstart wordt gebruikt, is afkomstig van Azure-quickstartsjablonen.

Notitie

Er is momenteel geen Ondersteuning voor Bicep-bestanden voor het maken van inschrijvingen met nieuwe DPS-resources. Dit is een gemeenschappelijk en begrepen verzoek dat wordt overwogen voor implementatie.

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

Er worden twee Azure-resources gedefinieerd in het Bicep-bestand hierboven:

Sla een kopie van het Bicep-bestand lokaal op als main.bicep.

Het Bicep-bestand implementeren

Meld u aan bij uw Azure-account en selecteer uw abonnement.

  1. Meld u aan bij Azure bij de opdrachtprompt:

    az login
    

    Volg de instructies om te verifiëren met de code en meld u aan bij uw Azure-account via een webbrowser.

  2. Als u meerdere Azure-abonnementen hebt en u zich aanmeldt bij Azure, hebt u toegang tot alle Azure accounts die zijn gekoppeld aan uw referenties.

    az account list -o table
    

    Gebruik de volgende opdracht om het abonnement te selecteren dat u wilt gebruiken om de opdrachten uit te voeren om uw IoT-hub- en DPS-resources te maken. U kunt de naam van het abonnement of de id van de uitvoer van de vorige opdracht gebruiken:

    az account set --subscription {your subscription name or id}
    
  3. Implementeer het Bicep-bestand met de volgende opdrachten.

    Tip

    De opdrachten vragen om een resourcegroeplocatie. U kunt een lijst met beschikbare locaties weergeven door eerst de volgende opdracht uit te voeren:

    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}
    

    Vervang {IoT-Hub-name} door een wereldwijd unieke IoT Hub-naam, vervang {DPS-name} door een DPS-resourcenaam (Globally Unique Device Provisioning Service).

    Het duurt even voordat de resources zijn gemaakt.

Geïmplementeerde resources bekijken

  1. Als u de implementatie wilt controleren, voert u de volgende opdracht uit en zoekt u in de uitvoer naar de nieuwe inrichtingsservice en IoT-hub:

     az resource list -g exampleRg
    
  2. Voer de volgende opdracht uit om te controleren of de hub al is gekoppeld aan de DPS-resource.

    az iot dps show --name <Your provisioningServiceName>
    

Resources opschonen

Andere Quick Starts in deze verzameling zijn op deze Quick Start gebaseerd. Als u van plan bent om door te gaan met de volgende quickstarts of met de zelfstudies, moet u de resources die in deze quickstart zijn gemaakt, niet opschonen. Als u niet van plan bent om door te gaan, kunt u Azure PowerShell of Azure CLI gebruiken om de resourcegroep en alle bijbehorende resources te verwijderen.

Als u een resourcegroep en alle bijbehorende resources uit Azure Portal wilt verwijderen, opent u de resourcegroep en selecteert u Resourcegroep verwijderen en bovenaan.

De geïmplementeerde resourcegroep verwijderen:

az group delete --name exampleRG

U kunt ook resourcegroepen en afzonderlijke resources verwijderen met behulp van Azure Portal, PowerShell of REST API's, of met ondersteunde platform-SDK's.

Volgende stappen

In deze quickstart hebt u een IoT-hub en een Device Provisioning Service-exemplaar geïmplementeerd en de twee resources gekoppeld. Als u wilt weten hoe u deze instellingen gebruikt voor het inrichten van een apparaat, gaat u verder met de rest van de quickstart voor het maken van een apparaat.