Creare un hub IoT usando un modello di Azure Resource Manager (PowerShell)Create an IoT hub using Azure Resource Manager template (PowerShell)

È possibile utilizzare Gestione risorse di Azure per creare e gestire hub IoT di Azure a livello di codice.You can use Azure Resource Manager to create and manage Azure IoT hubs programmatically. In questa esercitazione viene illustrato come usare un modello di Azure Resource Manager per creare un hub IoT con PowerShell.This tutorial shows you how to use an Azure Resource Manager template to create an IoT hub with PowerShell.

Nota

Azure offre due diversi modelli di distribuzione per creare e usare le risorse: Azure Resource Manager e classico.Azure has two different deployment models for creating and working with resources: Azure Resource Manager and classic. In questo articolo viene illustrato l'uso del modello di distribuzione Azure Resource Manager.This article covers using the Azure Resource Manager deployment model.

Per completare l'esercitazione, sono necessari gli elementi seguenti:To complete this tutorial, you need the following:

Suggerimento

Per altre informazioni su come usare PowerShell e i modelli di Azure Resource Manager per creare risorse di Azure, vedere Using Azure PowerShell with Azure Resource Manager (Uso di Azure PowerShell con Azure Resource Manager).The article Using Azure PowerShell with Azure Resource Manager provides more information about how to use PowerShell and Azure Resource Manager templates to create Azure resources.

Connettersi alla sottoscrizione di AzureConnect to your Azure subscription

In un prompt dei comandi di PowerShell, immettere il comando seguente per accedere alla sottoscrizione di Azure:In a PowerShell command prompt, enter the following command to sign in to your Azure subscription:

Login-AzureRmAccount

Se si usano più sottoscrizioni Azure e si esegue l'accesso ad Azure, è possibile accedere a tutte le sottoscrizioni di Azure associate alle credenziali.If you have multiple Azure subscriptions, signing in to Azure grants you access to all the Azure subscriptions associated with your credentials. Usare il comando seguente per elencare gli account Azure che è possibile usare:Use the following command to list the Azure subscriptions available for you to use:

Get-AzureRMSubscription

Usare il comando seguente per selezionare la sottoscrizione che si vuole usare per eseguire i comandi per creare l'hub IoT.Use the following command to select subscription that you want to use to run the commands to create your IoT hub. È possibile usare il nome o l'ID della sottoscrizione dall'output del comando precedente:You can use either the subscription name or ID from the output of the previous command:

Select-AzureRMSubscription `
    -SubscriptionName "{your subscription name}"

È possibile usare i comandi seguenti per individuare dove è possibile distribuire un hub IoT e le versioni API attualmente supportate:You can use the following commands to discover where you can deploy an IoT hub and the currently supported API versions:

((Get-AzureRmResourceProvider -ProviderNamespace Microsoft.Devices).ResourceTypes | Where-Object ResourceTypeName -eq IoTHubs).Locations
((Get-AzureRmResourceProvider -ProviderNamespace Microsoft.Devices).ResourceTypes | Where-Object ResourceTypeName -eq IoTHubs).ApiVersions

Creare un gruppo di risorse per contenere l'hub IoT usando il comando seguente in una delle località supportate per l'hub IoT.Create a resource group to contain your IoT hub using the following command in one of the supported locations for IoT Hub. In questo esempio viene creato un gruppo di risorse denominato MyIoTRG1:This example creates a resource group called MyIoTRG1:

New-AzureRmResourceGroup -Name MyIoTRG1 -Location "East US"

Inviare un modello per creare un hub IoTSubmit a template to create an IoT hub

Utilizzare un modello JSON per creare un hub IoT nel gruppo di risorse.Use a JSON template to create an IoT hub in your resource group. È anche possibile usare un modello di Azure Resource Manager per apportare modifiche a un hub IoT esistente.You can also use an Azure Resource Manager template to make changes to an existing IoT hub.

  1. Usare un editor di testo per creare un modello di Azure Resource Manager denominato template.json con la definizione di risorsa seguente per creare un nuovo hub IoT standard.Use a text editor to create an Azure Resource Manager template called template.json with the following resource definition to create a new standard IoT hub. In questo esempio l'hub IoT viene aggiunto all'area Stati Uniti orientali, vengono creati due gruppi di consumer (cg1 e cg2) sull'endpoint compatibile con Hub eventi e viene usata la versione 2016-02-03 dell'API.This example adds the IoT Hub in the East US region, creates two consumer groups (cg1 and cg2) on the Event Hub-compatible endpoint, and uses the 2016-02-03 API version. Questo modello prevede anche che il nome dell'hub IoT venga passato come un parametro denominato hubName.This template also expects you to pass in the IoT hub name as a parameter called hubName. Per un elenco aggiornato delle località in cui è supportato l'hub IoT, vedere lo Stato di Azure.For the current list of locations that support IoT Hub see Azure Status.

    {
      "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
      "contentVersion": "1.0.0.0",
      "parameters": {
        "hubName": {
          "type": "string"
        }
      },
      "resources": [
      {
        "apiVersion": "2016-02-03",
        "type": "Microsoft.Devices/IotHubs",
        "name": "[parameters('hubName')]",
        "location": "East US",
        "sku": {
          "name": "S1",
          "tier": "Standard",
          "capacity": 1
        },
        "properties": {
          "location": "East US"
        }
      },
      {
        "apiVersion": "2016-02-03",
        "type": "Microsoft.Devices/IotHubs/eventhubEndpoints/ConsumerGroups",
        "name": "[concat(parameters('hubName'), '/events/cg1')]",
        "dependsOn": [
          "[concat('Microsoft.Devices/Iothubs/', parameters('hubName'))]"
        ]
      },
      {
        "apiVersion": "2016-02-03",
        "type": "Microsoft.Devices/IotHubs/eventhubEndpoints/ConsumerGroups",
        "name": "[concat(parameters('hubName'), '/events/cg2')]",
        "dependsOn": [
          "[concat('Microsoft.Devices/Iothubs/', parameters('hubName'))]"
        ]
      }
      ],
      "outputs": {
        "hubKeys": {
          "value": "[listKeys(resourceId('Microsoft.Devices/IotHubs', parameters('hubName')), '2016-02-03')]",
          "type": "object"
        }
      }
    }
    
  2. Salvare il file del modello di Azure Resource Manager sul computer locale.Save the Azure Resource Manager template file on your local machine. Questo esempio presuppone che il file venga salvato in una cartella denominata c:\templates.This example assumes you save it in a folder called c:\templates.

  3. Eseguire il comando seguente per distribuire il nuovo hub IoT, passando il nome dell'hub IoT come parametro.Run the following command to deploy your new IoT hub, passing the name of your IoT hub as a parameter. In questo esempio, il nome dell'hub IoT è abcmyiothub.In this example, the name of the IoT hub is abcmyiothub. Il nome dell'hub IoT deve essere globalmente univoco:The name of your IoT hub must be globally unique:

    New-AzureRmResourceGroupDeployment -ResourceGroupName MyIoTRG1 -TemplateFile C:\templates\template.json -hubName abcmyiothub
    

    Importante

    L'hub IoT sarà individuabile pubblicamente come endpoint DNS, quindi evitare di indicare informazioni riservate nell'assegnazione del nome.The IoT hub will be publicly discoverable as a DNS endpoint, so make sure to avoid any sensitive information while naming it.

  4. L'output visualizza le chiavi per l'hub IoT che è stato creato.The output displays the keys for the IoT hub you created.

  5. Per verificare che l'applicazione abbia aggiunto il nuovo hub IoT, visitare il portale di Azure e visualizzare l'elenco delle risorse.To verify your application added the new IoT hub, visit the Azure portal and view your list of resources. In alternativa, usare il cmdlet di PowerShell Get-AzureRmResource.Alternatively, use the Get-AzureRmResource PowerShell cmdlet.

Nota

Questa applicazione di esempio aggiunge un hub IoT Standard S1 che viene addebitato.This example application adds an S1 Standard IoT Hub for which you are billed. Al termine è possibile eliminare l'hub IoT usando il portale di Azure o il cmdlet di PowerShell Remove-AzureRmResource.You can delete the IoT hub through the Azure portal or by using the Remove-AzureRmResource PowerShell cmdlet when you are finished.

Passaggi successiviNext steps

Dopo aver distribuito un hub IoT usando un modello di Azure Resource Manager con PowerShell, può essere opportuno ottenere informazioni più dettagliate:Now you have deployed an IoT hub using an Azure Resource Manager template with PowerShell, you may want to explore further:

Per altre informazioni sulle attività di sviluppo per l'hub IoT, vedere gli articoli seguenti:To learn more about developing for IoT Hub, see the following articles:

Per altre informazioni sulle funzionalità dell'hub IoT, vedere:To further explore the capabilities of IoT Hub, see: