Guida introduttiva: Configurare il servizio Device Provisioning hub IoT con Bicep
È possibile usare un file Bicep per configurare a livello di codice le risorse cloud di Azure necessarie per il provisioning dei dispositivi. Questi passaggi illustrano come creare un hub IoT e una nuova istanza del servizio Device Provisioning hub IoT con un file Bicep. Il hub IoT è collegato anche alla risorsa dps usando il file Bicep. Questo collegamento consente alla risorsa DPS di assegnare i dispositivi all'hub in base ai criteri di allocazione configurati.
Bicep è un linguaggio specifico di dominio (DSL) che usa la sintassi dichiarativa per distribuire le risorse di Azure. Offre sintassi concisa, indipendenza dai tipi affidabile e supporto per il riutilizzo del codice. Bicep offre la migliore esperienza di creazione per le soluzioni di infrastruttura come codice in Azure.
Questa guida introduttiva usa Azure PowerShell e l'interfaccia della riga di comando di Azure per eseguire i passaggi programmatici necessari per creare un gruppo di risorse e distribuire il file Bicep, ma è possibile usare facilmente .NET, Ruby o altri linguaggi di programmazione per eseguire questi passaggi e distribuire il file Bicep.
Prerequisiti
Se non si ha una sottoscrizione di Azure, creare un account Azure gratuito prima di iniziare.
Usare l'ambiente Bash in Azure Cloud Shell. Per altre informazioni, vedere Avvio rapido su Bash in Azure Cloud Shell.
Se si preferisce eseguire i comandi di riferimento dell'interfaccia della riga di comando in locale, installare l'interfaccia della riga di comando di Azure. Per l'esecuzione in Windows o macOS, è consigliabile eseguire l'interfaccia della riga di comando di Azure in un contenitore Docker. Per altre informazioni, vedere Come eseguire l'interfaccia della riga di comando di Azure in un contenitore Docker.
Se si usa un'installazione locale, accedere all'interfaccia della riga di comando di Azure con il comando az login. Per completare il processo di autenticazione, seguire la procedura visualizzata nel terminale. Per altre opzioni di accesso, vedere Accedere tramite l'interfaccia della riga di comando di Azure.
Quando richiesto, al primo utilizzo installare l'estensione dell'interfaccia della riga di comando di Azure. Per altre informazioni sulle estensioni, vedere Usare le estensioni con l'interfaccia della riga di comando di Azure.
Eseguire az version per trovare la versione e le librerie dipendenti installate. Per eseguire l'aggiornamento alla versione più recente, eseguire az upgrade.
- Se si sceglie di usare Azure PowerShell in locale:
- Installare la versione più recente del modulo Az di PowerShell.
- Connettersi all'account Azure con il cmdlet Connect-AzAccount.
- Se si sceglie di usare Azure Cloud Shell:
- Vedere Panoramica di Azure Cloud Shell per altre informazioni.
Esaminare il file Bicep
Il file Bicep usato in questo avvio rapido proviene dai modelli di avvio rapido di Azure.
Nota
Attualmente non è disponibile alcun supporto per i file Bicep per la creazione di registrazioni con nuove risorse dps. Si tratta di una richiesta comune e comprensibile che viene considerata per l'implementazione.
@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
}
]
}
}
Due risorse di Azure sono definite nel file Bicep precedente:
- Microsoft.Devices/iothubs: crea una nuova hub IoT di Azure.
- Microsoft.Devices/provisioningservices: crea un nuovo servizio device provisioning hub IoT di Azure con il nuovo hub IoT già collegato.
Salvare una copia del file Bicep in locale come main.bicep.
Distribuire il file Bicep
Accedere al proprio account Azure e selezionare la sottoscrizione.
Accedere ad Azure al prompt dei comandi:
az login
Seguire le istruzioni per l'autenticazione tramite il codice e accedere all'account Azure con un Web browser.
Se si usano più sottoscrizioni di Azure, effettuando l'accesso ad Azure è possibile accedere a tutti gli account Azure associati alle credenziali.
az account list -o table
Usare il comando seguente per selezionare la sottoscrizione da usare per eseguire i comandi per creare l'hub IoT e le risorse dps. È possibile usare il nome o l'ID della sottoscrizione dall'output del comando precedente:
az account set --subscription {your subscription name or id}
Distribuire il file Bicep con i comandi seguenti.
Suggerimento
Verrà chiesto di immettere una località per il gruppo di risorse. È possibile visualizzare un elenco di località disponibili eseguendo il comando seguente:
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}
Sostituire {IoT-Hub-name} con un nome di hub IoT univoco a livello globale, sostituire {DPS-name} con un nome di risorsa Device Provisioning Service (DPS) univoco a livello globale.
La creazione delle risorse richiede alcuni minuti.
Esaminare le risorse distribuite
Per verificare la distribuzione, eseguire il comando seguente e cercare il nuovo servizio di provisioning e il nuovo hub IoT nell'output:
az resource list -g exampleRg
Per verificare che l'hub sia già collegato alla risorsa dps, eseguire il comando seguente.
az iot dps show --name <Your provisioningServiceName>
Pulire le risorse
Altre guide di avvio rapido di questa raccolta si basano sulla presente guida di avvio rapido. Se si prevede di continuare a usare le guide introduttive successive o con le esercitazioni, non pulire le risorse create in questa guida introduttiva. Se non si prevede di continuare, è possibile usare Azure PowerShell o l'interfaccia della riga di comando di Azure per eliminare il gruppo di risorse e tutte le relative risorse.
Per eliminare un gruppo di risorse e tutte le relative risorse dal portale di Azure, è sufficiente aprire il gruppo di risorse e selezionare Elimina gruppo di risorse e la parte superiore.
Per eliminare il gruppo di risorse distribuito:
az group delete --name exampleRG
È anche possibile eliminare gruppi di risorse e singole risorse usando le API PORTALE DI AZURE, PowerShell o REST o con gli SDK della piattaforma supportati.
Passaggi successivi
In questa guida introduttiva è stato distribuito un hub IoT e un'istanza del servizio Device Provisioning e sono state collegate le due risorse. Per informazioni su come usare questa configurazione per effettuare il provisioning di un dispositivo, proseguire con l'argomento di avvio rapido per la creazione di un dispositivo.