Share via


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.

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:

Salvare una copia del file Bicep in locale come main.bicep.

Distribuire il file Bicep

Accedere al proprio account Azure e selezionare la sottoscrizione.

  1. 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.

  2. 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}
    
  3. 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 istanti.

Esaminare le risorse distribuite

  1. 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
    
  2. 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.