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.
Użyj środowiska powłoki Bash w usłudze Azure Cloud Shell. Aby uzyskać więcej informacji, zobacz Szybki start dotyczący powłoki Bash w usłudze Azure Cloud Shell.
Jeśli wolisz uruchamiać polecenia referencyjne interfejsu wiersza polecenia lokalnie, zainstaluj interfejs wiersza polecenia platformy Azure. Jeśli korzystasz z systemu Windows lub macOS, rozważ uruchomienie interfejsu wiersza polecenia platformy Azure w kontenerze Docker. Aby uzyskać więcej informacji, zobacz Jak uruchomić interfejs wiersza polecenia platformy Azure w kontenerze platformy Docker.
Jeśli korzystasz z instalacji lokalnej, zaloguj się do interfejsu wiersza polecenia platformy Azure za pomocą polecenia az login. Aby ukończyć proces uwierzytelniania, wykonaj kroki wyświetlane w terminalu. Aby uzyskać inne opcje logowania, zobacz Logowanie się przy użyciu interfejsu wiersza polecenia platformy Azure.
Po wyświetleniu monitu zainstaluj rozszerzenie interfejsu wiersza polecenia platformy Azure podczas pierwszego użycia. Aby uzyskać więcej informacji na temat rozszerzeń, zobacz Korzystanie z rozszerzeń w interfejsie wiersza polecenia platformy Azure.
Uruchom polecenie az version, aby znaleźć zainstalowane wersje i biblioteki zależne. Aby uaktualnić do najnowszej wersji, uruchom polecenie az upgrade.
- Jeśli zdecydujesz się używać programu Azure PowerShell lokalnie:
- Zainstaluj najnowszą wersję modułu Az programu PowerShell.
- Połącz się z kontem platformy Azure przy użyciu polecenia cmdlet Connect-AzAccount .
- Jeśli zdecydujesz się używać usługi Azure Cloud Shell:
- Aby uzyskać więcej informacji, zobacz Omówienie usługi Azure Cloud Shell .
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:
- Microsoft.Devices/iothubs: tworzy nową usługę Azure IoT Hub.
- Microsoft.Devices/provisioningservices: tworzy nową usługę Azure IoT Hub Device Provisioning z nową usługą IoT Hub, która jest już z nią połączona.
Zapisz kopię pliku Bicep lokalnie jako main.bicep.
Wdrażanie pliku Bicep
Zaloguj się do konta platformy Azure i wybierz subskrypcję.
Zaloguj się do platformy Azure w wierszu polecenia:
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.
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}
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
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
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.