Dela via


Snabbstart: Konfigurera IoT Hub Device Provisioning Service (DPS) med Bicep

Du kan använda en Bicep-fil för att programmatiskt konfigurera de Azure-molnresurser som krävs för att etablera dina enheter. De här stegen visar hur du skapar en IoT-hubb och en ny IoT Hub Device Provisioning Service-instans med en Bicep-fil. IoT Hub är också länkad till DPS-resursen med hjälp av Bicep-filen. Med den här länken kan DPS-resursen tilldela enheter till hubben baserat på de allokeringsprinciper som du konfigurerar.

Bicep är ett domänspecifikt språk (DSL) som använder deklarativ syntax för att distribuera Azure-resurser. Det ger koncis syntax, tillförlitlig typsäkerhet och stöd för återanvändning av kod. Bicep erbjuder den bästa redigeringsupplevelsen för dina infrastruktur-som-kod-lösningar i Azure.

Den här snabbstarten använder Azure PowerShell och Azure CLI för att utföra de programmässiga steg som krävs för att skapa en resursgrupp och distribuera Bicep-filen, men du kan enkelt använda .NET, Ruby eller andra programmeringsspråk för att utföra dessa steg och distribuera Bicep-filen.

Förutsättningar

Om du inte har en Azure-prenumeration skapar du ett kostnadsfritt Azure-konto innan du börjar.

Granska Bicep-filen

Bicep-filen som används i den här snabbstarten kommer från Azure-snabbstartsmallar.

Kommentar

För närvarande finns det inget Bicep-filstöd för att skapa registreringar med nya DPS-resurser. Detta är en vanlig och förstådd begäran som övervägs för implementering.

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

Två Azure-resurser definieras i Bicep-filen ovan:

Spara en kopia av Bicep-filen lokalt som main.bicep.

Distribuera Bicep-filen

Logga in på ditt Azure-konto och välj din prenumeration.

  1. Logga in på Azure i kommandotolken:

    az login
    

    Följ instruktionerna för att autentisera med hjälp av koden och logga in på ditt Azure-konto via en webbläsare.

  2. Om du har flera Azure-prenumerationer får du åtkomst till alla Azure-konton som är associerade med dina autentiseringsuppgifter när du loggar in på Azure.

    az account list -o table
    

    Använd följande kommando för att välja den prenumeration som du vill använda för att köra kommandona för att skapa dina IoT Hub- och DPS-resurser. Du kan antingen använda prenumerationsnamnet eller ID:t från utdata från föregående kommando:

    az account set --subscription {your subscription name or id}
    
  3. Distribuera Bicep-filen med följande kommandon.

    Dricks

    Kommandona frågar efter en resursgruppsplats. Du kan visa en lista över tillgängliga platser genom att först köra kommandot:

    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}
    

    Ersätt {IoT-Hub-name} med ett globalt unikt IoT Hub-namn, ersätt {DPS-name} med ett globalt unikt DPS-resursnamn (Device Provisioning Service).

    Det tar en stund att skapa resurserna.

Granska distribuerade resurser

  1. Kontrollera distributionen genom att köra följande kommando och leta efter den nya etableringstjänsten och IoT Hub i utdata:

     az resource list -g exampleRg
    
  2. Kontrollera att hubben redan är länkad till DPS-resursen genom att köra följande kommando.

    az iot dps show --name <Your provisioningServiceName>
    

Rensa resurser

De andra snabbstarterna i den här samlingen bygger på den här snabbstarten. Om du planerar att fortsätta arbeta med efterföljande snabbstarter eller självstudier ska du inte rensa resurserna som skapades i den här snabbstarten. Om du inte planerar att fortsätta kan du använda Azure PowerShell eller Azure CLI för att ta bort resursgruppen och alla dess resurser.

Om du vill ta bort en resursgrupp och alla dess resurser från Azure-portalen öppnar du bara resursgruppen och väljer Ta bort resursgrupp och överst.

Så här tar du bort den distribuerade resursgruppen:

az group delete --name exampleRG

Du kan också ta bort resursgrupper och enskilda resurser med hjälp av Azure-portalen, PowerShell eller REST-API:er eller med plattforms-SDK:er som stöds.

Nästa steg

I den här snabbstarten distribuerade du en IoT-hubb och en enhetsetableringstjänstinstans och länkade de två resurserna. Om du vill lära dig hur du använder den här konfigurationen för att etablera en enhet fortsätter du till snabbstarten för att skapa en enhet.