Avvio rapido: Configurare il servizio Device Provisioning hub IoT con l'interfaccia della riga di comando di Azure
L'interfaccia della riga di comando di Azure viene usata per creare e gestire le risorse di Azure dalla riga di comando o negli script. Questa guida introduttiva illustra in dettaglio l'uso dell'interfaccia della riga di comando di Azure per creare un hub IoT e un'istanza del servizio Device Provisioning hub IoT e collegare i due servizi.
Se non si ha una sottoscrizione di Azure, creare un account Azure gratuito prima di iniziare.
Importante
L'hub IoT e il servizio di provisioning creati in questo argomento di avvio rapido saranno individuabili pubblicamente come endpoint DNS. Evitare di indicare informazioni riservate se si decide di modificare i nomi usati per queste risorse.
Prerequisiti
Usare l'ambiente Bash in Azure Cloud Shell. Per altre informazioni, vedere Avvio rapido per 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, installare l'estensione dell'interfaccia della riga di comando di Azure al primo utilizzo. 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.
Creare un gruppo di risorse
Creare un gruppo di risorse con il comando az group create. Un gruppo di risorse di Azure è un contenitore logico in cui le risorse di Azure vengono distribuite e gestite.
L'esempio seguente crea un gruppo di risorse denominato my-sample-resource-group nella località westus.
az group create --name my-sample-resource-group --location westus
Suggerimento
L'esempio crea il gruppo di risorse nella località Stati Uniti occidentali. È possibile visualizzare un elenco di località disponibili eseguendo il comando az account list-locations -o table
.
Creare un hub IoT
Creare un hub IoT con il comando az iot hub create.
L'esempio seguente crea un hub IoT denominato my-sample-hub nella località westus. Un nome dell'hub IoT deve essere globalmente univoco in Azure, quindi aggiungere un prefisso univoco o un suffisso al nome dell'esempio o scegliere completamente un nuovo nome. Assicurarsi che il nome segua le convenzioni di denominazione appropriate per un hub ioT: deve avere una lunghezza compresa tra 3 e 50 caratteri e può contenere solo caratteri alfanumerici maiuscoli o minuscoli oppure trattini ('-').
az iot hub create --name my-sample-hub --resource-group my-sample-resource-group --location westus
Creare un'istanza del servizio Device Provisioning
Creare un'istanza del servizio Device Provisioning con il comando az iot dps create .
L'esempio seguente crea un'istanza del servizio Device Provisioning denominata my-sample-dps nella posizione westus . È anche necessario scegliere un nome univoco globale per la propria istanza. Assicurarsi che il nome segua le convenzioni di denominazione appropriate per un servizio Device Provisioning in hub IoT: deve avere una lunghezza compresa tra 3 e 64 caratteri e può contenere solo caratteri alfanumerici maiuscoli o minuscoli oppure trattini ('-').
az iot dps create --name my-sample-dps --resource-group my-sample-resource-group --location westus
Suggerimento
L'esempio crea un servizio di provisioning nella località Stati Uniti occidentali. Per un elenco delle località disponibili, è possibile eseguire il comando az provider show --namespace Microsoft.Devices --query "resourceTypes[?resourceType=='ProvisioningServices'].locations | [0]" --out table
oppure passare alla pagina Stato di Azure e cercare "Servizio Device Provisioning". Nei comandi, le posizioni possono essere specificate in un formato di parola o di più parole; ad esempio: westus, Stati Uniti occidentali, Stati Uniti occidentali e così via. Il valore non fa distinzione tra maiuscole e minuscole. Se si usa il formato a più parole per specificare la località, racchiudere il valore tra virgolette, ad esempio --location "West US"
.
Per garantire resilienza e affidabilità, è consigliabile eseguire la distribuzione in una delle aree che supportano zone di disponibilità.
Ottenere la stringa di connessione dell'hub IoT
È necessaria la stringa di connessione dell'hub IoT per collegare l'hub al servizio Device Provisioning. Usare il comando az iot hub connection-string show per ottenere il stringa di connessione e usare il relativo output per impostare una variabile usata in un secondo momento, quando si collegano le due risorse.
L'esempio seguente imposta la variabile hubConnectionString sul valore della stringa di connessione per la chiave primaria del criterio iothubowner dell'hub (è possibile usare il parametro --policy-name
per specificare un criterio diverso). Sostituire my-sample-hub con il nome univoco dell'hub ioT scelto in precedenza. Il comando usa le opzioni query e output dell'interfaccia della riga di comando di Azure per estrarre la stringa di connessione dall'output del comando.
hubConnectionString=$(az iot hub connection-string show --name my-sample-hub --key primary --query connectionString -o tsv)
È possibile usare il comando echo
per visualizzare la stringa di connessione.
echo $hubConnectionString
Nota
Questi due comandi sono validi per un host in esecuzione in Bash.
Se si usa una shell Windows/CMD locale o un host di PowerShell, è necessario modificare i comandi per usare la sintassi corretta per tale ambiente.
Se si usa Azure Cloud Shell, controllare che l'elenco a discesa Ambiente sul lato sinistro della finestra della shell indichi Bash.
Collegare l'hub IoT e il servizio di provisioning
Collegare l'hub IoT e il servizio di provisioning con il comando az iot dps linked-hub create.
L'esempio seguente collega un hub IoT denominato my-sample-hub nella località westus e un servizio Device Provisioning denominato my-sample-dps. Sostituire questi nomi con i nomi univoci dell'hub ioT e del servizio Device Provisioning scelti in precedenza. Il comando usa la stringa di connessione dell'hub IoT archiviata nella variabile hubConnectionString del passaggio precedente.
az iot dps linked-hub create --dps-name my-sample-dps --resource-group my-sample-resource-group --connection-string $hubConnectionString --location westus
Il completamento del comando può richiedere alcuni minuti.
Verificare il servizio di provisioning
Ottenere i dettagli del servizio di provisioning con il comando az iot dps show.
L'esempio seguente ottiene i dettagli di un servizio di provisioning denominato my-sample-dps. Sostituire questo nome con il proprio nome del servizio Device provisioning.
az iot dps show --name my-sample-dps
L'hub IoT collegato viene visualizzato nella raccolta properties.iotHubs.
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 i comandi seguenti per eliminare il servizio di provisioning, l'hub IoT o il gruppo di risorse e tutte le relative risorse. Sostituire i nomi delle risorse incluse nei comandi seguenti con i nomi delle proprie risorse.
Per eliminare il servizio di provisioning, eseguire il comando az iot dps delete:
az iot dps delete --name my-sample-dps --resource-group my-sample-resource-group
Per eliminare l'hub IoT, eseguire il comando az iot hub delete:
az iot hub delete --name my-sample-hub --resource-group my-sample-resource-group
Per eliminare un gruppo di risorse e tutte le relative risorse, usare il comando az group delete:
az group delete --name my-sample-resource-group
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.