Azure Resource Manager şablonunu (PowerShell) kullanarak IoT hub'ı oluşturma

IoT Hub ve tüketici grubu oluşturmak için Azure Resource Manager şablonu kullanmayı öğrenin. Resource Manager şablonları, çözümünüz için dağıtmanız gereken kaynakları tanımlayan JSON dosyalarıdır. Uygulama şablonları geliştirme hakkında daha Resource Manager için bkz. Azure Resource Manager..

Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.

IoT hub oluşturma

Bu Resource Manager kullanılan şablon Azure Hızlı Başlangıç şablonlarındandır. Şablonun bir kopyası şu şekildedir:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "iotHubName": {
      "type": "string",
      "minLength": 3,
      "metadata": {
        "description": "Specifies the name of the IoT Hub."
      }
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]",
      "metadata": {
        "description": "Location for all resources."
      }
    },
    "skuName": {
      "type": "string",
      "defaultValue": "F1",
      "metadata": {
        "description": "Specifies the IotHub SKU."
      }
    },
    "capacityUnits": {
      "type": "int",
      "minValue": 1,
      "maxValue": 1,
      "defaultValue": 1,
      "metadata": {
        "description": "Specifies the number of provisioned IoT Hub units. Restricted to 1 unit for the F1 SKU. Can be set up to maximum number allowed for subscription."
      }
    }
  },
  "variables": {
    "consumerGroupName": "[concat(parameters('iotHubName'), '/events/cg1')]"
  },
  "resources": [
    {
      "type": "Microsoft.Devices/IotHubs",
      "apiVersion": "2021-03-31",
      "name": "[parameters('iotHubName')]",
      "location": "[parameters('location')]",
      "properties": {
        "eventHubEndpoints": {
          "events": {
            "retentionTimeInDays": 1,
            "partitionCount": 2
          }
        },
        "cloudToDevice": {
          "defaultTtlAsIso8601": "PT1H",
          "maxDeliveryCount": 10,
          "feedback": {
            "ttlAsIso8601": "PT1H",
            "lockDurationAsIso8601": "PT60S",
            "maxDeliveryCount": 10
          }
        },
        "messagingEndpoints": {
          "fileNotifications": {
            "ttlAsIso8601": "PT1H",
            "lockDurationAsIso8601": "PT1M",
            "maxDeliveryCount": 10
          }
        }
      },
      "sku": {
        "name": "[parameters('skuName')]",
        "capacity": "[parameters('capacityUnits')]"
      }
    },
    {
      "type": "Microsoft.Devices/iotHubs/eventhubEndpoints/ConsumerGroups",
      "apiVersion": "2021-03-31",
      "name": "[variables('consumerGroupName')]",
      "properties": {
        "name": "cg1"
      },
      "dependsOn": [
        "[resourceId('Microsoft.Devices/IotHubs', parameters('iotHubName'))]"
      ]
    }
  ]
}

Şablon, üç uç nokta (eventhub, buluttan cihaza ve mesajlaşma) ve bir tüketici grubu ile bir Azure Iot hub'ı oluşturur. Daha fazla şablon örneği için bkz. Azure Hızlı Başlangıç şablonları. Iot Hub şablon şeması burada bulunabilir.

Şablon dağıtmak için çeşitli yöntemler vardır. Bu öğreticide Azure PowerShell kullanın.

PowerShell betiği çalıştırmak için Deneyin'i seçerek Azure Cloud Shell'i açın. Betiği yapıştırmak için, kabuğuna sağ tıklayın ve Yapıştır'ı seçin:

$resourceGroupName = Read-Host -Prompt "Enter the Resource Group name"
$location = Read-Host -Prompt "Enter the location (i.e. centralus)"
$iotHubName = Read-Host -Prompt "Enter the IoT Hub name"

New-AzResourceGroup -Name $resourceGroupName -Location "$location"
New-AzResourceGroupDeployment `
    -ResourceGroupName $resourceGroupName `
    -TemplateUri "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.devices/iothub-with-consumergroup-create/azuredeploy.json" `
    -iotHubName $iotHubName

PowerShell betiğinden de gördüğünüz gibi, kullanılan şablon Azure Hızlı Başlangıç şablonlarındandır. Kendi şablon dosyanızı kullanmak için önce şablon dosyasını Cloud Shell'e yüklemeli ve ardından anahtarı kullanarak -TemplateFile dosya adını belirtebilirsiniz. Örnek için bkz. Şablonu dağıtma.

Sonraki adımlar

Artık bir IoT hub'ı Azure Resource Manager bir şablon kullanarak dağıttınız. Daha fazla bilgi için:

Geliştirme hakkında daha fazla IoT Hub için aşağıdaki makalelere bakın:

Uygulama yönetiminin özelliklerini daha fazla IoT Hub bkz: