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.
Använd Bash-miljön i Azure Cloud Shell. Mer information finns i Snabbstart för Bash i Azure Cloud Shell.
Om du föredrar att köra CLI-referenskommandon lokalt installerar du Azure CLI. Om du kör i Windows eller macOS kan du köra Azure CLI i en Docker-container. Mer information finns i Så här kör du Azure CLI i en Docker-container.
Om du använder en lokal installation loggar du in på Azure CLI med hjälp av kommandot az login. Slutför autentiseringsprocessen genom att följa stegen som visas i terminalen. Andra inloggningsalternativ finns i Logga in med Azure CLI.
När du uppmanas att installera Azure CLI-tillägget vid första användningen. Mer information om tillägg finns i Använda tillägg med Azure CLI.
Kör az version om du vill hitta versionen och de beroende bibliotek som är installerade. Om du vill uppgradera till den senaste versionen kör du az upgrade.
- Om du väljer att använda Azure PowerShell lokalt:
- Installera den senaste versionen av Az PowerShell-modulen.
- Anslut till ditt Azure-konto med hjälp av cmdleten Connect-AzAccount .
- Om du väljer att använda Azure Cloud Shell:
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:
- Microsoft.Devices/iothubs: Skapar en ny Azure IoT Hub.
- Microsoft.Devices/provisioningservices: Skapar en ny Azure IoT Hub Device Provisioning-tjänst med den nya IoT Hub som redan är länkad till den.
Spara en kopia av Bicep-filen lokalt som main.bicep.
Distribuera Bicep-filen
Logga in på ditt Azure-konto och välj din prenumeration.
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.
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}
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
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
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.