Szybki start: konfigurowanie usługi IoT Hub Device Provisioning Service (DPS) przy użyciu Bicep

Możesz użyć pliku Bicep , aby programowo skonfigurować zasoby w chmurze platformy Azure niezbędne do aprowizacji urządzeń. W tych krokach pokazano, jak utworzyć centrum IoT i nowe wystąpienie usługi IoT Hub Device Provisioning z plikiem Bicep. Usługa IoT Hub jest również połączona z zasobem usługi DPS przy użyciu pliku Bicep. To łączenie umożliwia zasobowi usługi DPS przypisywanie urządzeń do centrum na podstawie skonfigurowanych zasad alokacji.

Bicep to język specyficzny dla domeny (DSL), który używa składni deklaratywnej do wdrażania zasobów platformy Azure. Zapewnia zwięzłą składnię, niezawodne bezpieczeństwo typów i obsługę ponownego użycia kodu. Bicep oferuje najlepsze środowisko tworzenia rozwiązań infrastruktury jako kodu na platformie Azure.

Ten przewodnik Szybki start używa programu Azure PowerShell i interfejsu wiersza polecenia platformy Azure do wykonywania kroków programistycznych niezbędnych do utworzenia grupy zasobów i wdrożenia pliku Bicep, ale możesz łatwo użyć platformy .NET, języka Ruby lub innych języków programowania, aby wykonać te kroki i wdrożyć plik Bicep.

Wymagania wstępne

Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto platformy Azure.

Przejrzyj plik Bicep

Plik Bicep używany w tym przewodniku Szybki start pochodzi z szablonów szybkiego startu platformy Azure.

Uwaga

Obecnie nie ma obsługi plików Bicep do tworzenia rejestracji z nowymi zasobami usługi DPS. Jest to typowe i zrozumiałe żądanie, które jest brane pod uwagę do implementacji.

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

Dwa zasoby platformy Azure są zdefiniowane w powyższym pliku Bicep:

Zapisz kopię pliku Bicep lokalnie jako main.bicep.

Wdrażanie pliku Bicep

Zaloguj się do konta platformy Azure i wybierz subskrypcję.

  1. Zaloguj się do platformy Azure w wierszu polecenia:

    az login
    

    Postępuj zgodnie z instrukcjami w celu uwierzytelnienia przy użyciu kodu i zaloguj się na konto platformy Azure za pośrednictwem przeglądarki internetowej.

  2. Jeśli masz wiele subskrypcji platformy Azure, zalogowanie się do platformy Azure zapewnia dostęp do wszystkich kont platformy Azure skojarzonych z poświadczeniami użytkownika.

    az account list -o table
    

    Użyj następującego polecenia, aby wybrać subskrypcję, której chcesz użyć do uruchomienia poleceń w celu utworzenia zasobów centrum IoT i usługi DPS. Można użyć nazwy subskrypcji lub identyfikatora z danych wyjściowych poprzedniego polecenia:

    az account set --subscription {your subscription name or id}
    
  3. Wdróż plik Bicep przy użyciu następujących poleceń.

    Napiwek

    Polecenia wyświetlają monit o lokalizację grupy zasobów. Listę dostępnych lokalizacji można wyświetlić, uruchamiając najpierw polecenie :

    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}
    

    Zastąp ciąg {IoT-Hub-name} globalnie unikatową nazwą usługi IoT Hub, zastąp ciąg {DPS-name} globalnie unikatową nazwą zasobu usługi Device Provisioning Service (DPS).

    Utworzenie zasobów może potrwać kilka minut.

Przeglądanie wdrożonych zasobów

  1. Aby zweryfikować wdrożenie, uruchom następujące polecenie i poszukaj nowej usługi aprowizacji i centrum IoT Hub w danych wyjściowych:

     az resource list -g exampleRg
    
  2. Aby sprawdzić, czy koncentrator jest już połączony z zasobem usługi DPS, uruchom następujące polecenie.

    az iot dps show --name <Your provisioningServiceName>
    

Czyszczenie zasobów

Inne przewodniki Szybki start w tej kolekcji bazują na tym przewodniku. Jeśli planujesz kontynuować pracę z kolejnymi przewodnikami Szybki start lub samouczkami, nie usuwaj zasobów utworzonych w tym przewodniku Szybki start. Jeśli nie planujesz kontynuować, możesz użyć programu Azure PowerShell lub interfejsu wiersza polecenia platformy Azure, aby usunąć grupę zasobów i wszystkie jej zasoby.

Aby usunąć grupę zasobów i wszystkie jej zasoby z witryny Azure Portal, wystarczy otworzyć grupę zasobów i wybrać pozycję Usuń grupę zasobów i górną.

Aby usunąć wdrożona grupa zasobów:

az group delete --name exampleRG

Grupy zasobów i poszczególne zasoby można również usunąć przy użyciu witryny Azure Portal, programu PowerShell lub interfejsów API REST albo z obsługiwanymi zestawami SDK platformy.

Następne kroki

W tym przewodniku Szybki start wdrożono centrum IoT i wystąpienie usługi Device Provisioning Service oraz połączono te dwa zasoby. Aby dowiedzieć się, jak za pomocą tej konfiguracji aprowizować urządzenie, przejdź do przewodnika Szybki start dotyczącego tworzenia urządzenia.