Hızlı Başlangıç: ARM şablonuyla IoT Hub Cihazı Sağlama Hizmeti'ni (DPS) ayarlama
Makale
Cihazlarınızı sağlamak için gerekli Azure bulut kaynaklarını program aracılığıyla ayarlamak için bir Azure Resource Manager şablonu (ARM şablonu) kullanabilirsiniz. Bu adımlar, ARM şablonuyla ioT hub'ı ve yeni bir IoT Hub Cihazı Sağlama Hizmeti oluşturmayı gösterir. Iot Hub'ı da şablonu kullanarak DPS kaynağına bağlanır. Bu bağlama, DPS kaynağının yapılandırdığınız ayırma ilkelerine göre cihazları hub'a atamasını sağlar.
Azure Resource Manager şablonu, projenizin altyapısını ve yapılandırmasını tanımlayan bir JavaScript Nesne Gösterimi (JSON) dosyasıdır. Bu şablonda, bildirim temelli sözdizimi kullanılır. Dağıtımı oluşturmak için programlama komutlarının sırasını yazmadan hedeflenen dağıtımınızı açıklarsınız.
Ortamınız önkoşulları karşılıyorsa ve ARM şablonlarını kullanmayı zaten biliyorsanız Azure'a Dağıt düğmesini seçtiğinizde şablon Azure portalında dağıtım için açılır.
Yerel yükleme kullanıyorsanız az login komutunu kullanarak Azure CLI ile oturum açın. Kimlik doğrulama işlemini tamamlamak için terminalinizde görüntülenen adımları izleyin. Diğer oturum açma seçenekleri için bkz . Azure CLI ile oturum açma.
İstendiğinde, ilk kullanımda Azure CLI uzantısını yükleyin. Uzantılar hakkında daha fazla bilgi için bkz. Azure CLI ile uzantıları kullanma.
Yüklü sürümü ve bağımlı kitaplıkları bulmak için az version komutunu çalıştırın. En son sürüme yükseltmek için az upgrade komutunu çalıştırın.
Şu anda yeni DPS kaynaklarıyla kayıt oluşturmak için ARM şablonu desteği yoktur. Bu, uygulama için dikkate alınmakta olan yaygın ve anlaşılır bir istektir.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.12.40.16777",
"templateHash": "13184692430416822033"
}
},
"parameters": {
"iotHubName": {
"type": "string",
"metadata": {
"description": "Specify the name of the Iot hub."
}
},
"provisioningServiceName": {
"type": "string",
"metadata": {
"description": "Specify the name of the provisioning service."
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Specify the location of the resources."
}
},
"skuName": {
"type": "string",
"defaultValue": "S1",
"metadata": {
"description": "The SKU to use for the IoT Hub."
}
},
"skuUnits": {
"type": "int",
"defaultValue": 1,
"metadata": {
"description": "The number of IoT Hub units."
}
}
},
"variables": {
"iotHubKey": "iothubowner"
},
"resources": [
{
"type": "Microsoft.Devices/IotHubs",
"apiVersion": "2021-07-02",
"name": "[parameters('iotHubName')]",
"location": "[parameters('location')]",
"sku": {
"name": "[parameters('skuName')]",
"capacity": "[parameters('skuUnits')]"
},
"properties": {}
},
{
"type": "Microsoft.Devices/provisioningServices",
"apiVersion": "2022-02-05",
"name": "[parameters('provisioningServiceName')]",
"location": "[parameters('location')]",
"sku": {
"name": "[parameters('skuName')]",
"capacity": "[parameters('skuUnits')]"
},
"properties": {
"iotHubs": [
{
"connectionString": "[format('HostName={0};SharedAccessKeyName={1};SharedAccessKey={2}', reference(resourceId('Microsoft.Devices/IotHubs', parameters('iotHubName')), '2021-07-02').hostName, variables('iotHubKey'), listkeys(resourceId('Microsoft.Devices/IotHubs', parameters('iotHubName')), '2021-07-02').value[0].primaryKey)]",
"location": "[parameters('location')]"
}
]
},
"dependsOn": [
"[resourceId('Microsoft.Devices/IotHubs', parameters('iotHubName'))]"
]
}
]
}
Azure'da oturum açmak ve şablonu dağıtım için açmak için aşağıdaki görüntüyü seçin. Şablon yeni bir IoT hub'ı ve DPS kaynağı oluşturur. Yeni IoT hub'ı DPS kaynağına bağlıdır.
Aşağıdaki değerleri seçin veya girin ve Gözden Geçir + Oluştur'u seçin.
Aşağıdaki alanlar için aksi belirtilmedikçe, Iot Hub ve DPS kaynağını oluşturmak için varsayılan değeri kullanın.
Alan
Açıklama
Abonelik
Azure aboneliği seçin.
Kaynak grubu
Yeni oluştur'u seçin, kaynak grubu için benzersiz bir ad girin ve ardından Tamam'ı seçin.
Bölge
Kaynaklarınız için bir bölge seçin. Örneğin, Doğu ABD. Dayanıklılık ve güvenilirlik için Kullanılabilirlik Alanları destekleyen bölgelerden birine dağıtmanızı öneririz.
Iot Hub Adı
IoT Hub için .azure-devices.net ad alanında genel olarak benzersiz olması gereken bir ad girin. Dağıtımı doğrularken sonraki bölümde hub adı gerekir.
Sağlama Hizmeti Adı
Yeni Cihaz Sağlama Hizmeti (DPS) kaynağı için bir ad girin. Adın .azure-devices-provisioning.net ad alanı içinde genel olarak benzersiz olması gerekir. Dağıtımı doğrularken sonraki bölümde DPS adı gerekir.
Sonraki ekranda terimleri okuyun. Tüm koşulları kabul ediyorsanız Oluştur'u seçin.
Dağıtımın tamamlanması birkaç dakika sürer.
Azure portalına ek olarak Azure PowerShell, Azure CLI ve REST API'yi de kullanabilirsiniz. Diğer dağıtım yöntemlerini öğrenmek için bkz . Şablonları dağıtma.
Azure CLI ile dağıtma
Azure CLI'nin kullanılması için 2.6 veya üzeri bir sürüm gerekir. Azure CLI'yi yerel olarak çalıştırıyorsanız şu komutu çalıştırarak sürümünüzü doğrulayın: az --version
Azure hesabınızda oturum açın ve aboneliğinizi seçin.
Azure CLI'yi portalda çalıştırmak yerine yerel olarak çalıştırıyorsanız oturum açmanız gerekir. Komut isteminde oturum açmak için oturum açma komutunu çalıştırın:
az login
Kodu kullanarak kimlik doğrulaması gerçekleştirmek için yönergeleri uygulayın ve bir web tarayıcısı üzerinden Azure hesabınızda oturum açın.
Birden fazla Azure aboneliğiniz varsa Azure’da oturum açtığınızda, kimlik bilgilerinizle ilişkili tüm Azure hesaplarınıza erişim izni elde edersiniz. Kullanabileceğiniz Azure hesaplarını listelemek için aşağıdaki komutu kullanın:
az account list -o table
IoT hub'ınızı ve DPS kaynaklarınızı oluşturmak üzere komutları çalıştırmak için kullanmak istediğiniz aboneliği seçmek için aşağıdaki komutu kullanın. Önceki komutun çıkışında yer alan abonelik adını veya kimliği kullanabilirsiniz:
az account set --subscription {your subscription name or id}
Aşağıdaki komutları kopyalayıp CLI isteminize yapıştırın. Ardından Enter tuşunu seçerek komutları yürütebilirsiniz.
İpucu
Komutlar bir kaynak grubu konumu ister.
Önce komutunu çalıştırarak kullanılabilir konumların listesini görüntüleyebilirsiniz:
az account list-locations -o table
read -p "Enter a project name that is used for generating resource names:" projectName &&
read -p "Enter the location (i.e. centralus):" location &&
templateUri="https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.devices/iothub-device-provisioning/azuredeploy.json" &&
resourceGroupName="${projectName}rg" &&
az group create --name $resourceGroupName --location "$location" &&
az deployment group create --resource-group $resourceGroupName --template-uri $templateUri &&
echo "Press [ENTER] to continue ..." &&
read
Komutlar sizden aşağıdaki bilgileri ister. Her değeri belirtin ve Enter tuşunu seçin.
Parametre
Açıklama
Proje adı
Bu parametrenin değeri, tüm kaynakları barındıracak bir kaynak grubu oluşturmak için kullanılır. Dize rg , kaynak grubu adınızın değerinin sonuna eklenir.
konum
Bu değer, tüm kaynakların oluşturulduğu bölgedir.
iotHubName
IoT Hub için .azure-devices.net ad alanında genel olarak benzersiz olması gereken bir ad girin. Dağıtımı doğrularken sonraki bölümde hub adı gerekir.
provisioningServiceName
Yeni Cihaz Sağlama Hizmeti (DPS) kaynağı için bir ad girin. Adın .azure-devices-provisioning.net ad alanı içinde genel olarak benzersiz olması gerekir. Dağıtımı doğrularken sonraki bölümde DPS adı gerekir.
Azure CLI, şablonu dağıtmak için kullanılır. Azure CLI'ya ek olarak Azure PowerShell, Azure portalı ve REST API'sini de kullanabilirsiniz. Diğer dağıtım yöntemlerini öğrenmek için bkz . Şablonları dağıtma.
Dağıtılan kaynakları gözden geçirme
Dağıtımı doğrulamak için aşağıdaki komutu çalıştırarak kaynakları listeleyin ve çıktıda yeni sağlama hizmetini ve IoT hub'ını arayın:
az resource list -g "${projectName}rg"
Hub'ın DPS kaynağına zaten bağlı olduğunu doğrulamak için aşağıdaki DPS uzantısı show komutunu çalıştırın.
az iot dps show --name <Your provisioningServiceName>
Üyeye bağlı iotHubs hub'lara dikkat edin.
Kaynakları temizleme
Bu koleksiyondaki diğer hızlı başlangıçlar, bu hızlı başlangıcı temel alır. Sonraki hızlı başlangıçlarla veya öğreticilerle çalışmaya devam etmek istiyorsanız, bu hızlı başlangıçta oluşturulan kaynakları temizlemeyin. Devam etmek istemiyorsanız, kaynak grubunu ve tüm kaynaklarını silmek için Azure portalını veya Azure CLI'yi kullanabilirsiniz.
Bir kaynak grubunu ve tüm kaynaklarını Azure portalından silmek için kaynak grubunu açıp Kaynak grubunu sil'i ve üstteki öğesini seçmeniz gerekir.
Azure CLI kullanılarak dağıtılan kaynak grubunu silmek için:
az group delete --name "${projectName}rg"
Aşağıdaki seçeneklerden herhangi birini kullanarak kaynak gruplarını ve tek tek kaynakları da silebilirsiniz:
Azure portal
PowerShell
REST API'leri
Azure Resource Manager veya IoT Hub Cihazı Sağlama Hizmeti için yayımlanan desteklenen platform SDK'ları
Sonraki adımlar
Bu hızlı başlangıçta bir IoT hub'ı ve Bir Cihaz Sağlama Hizmeti örneği dağıttınız ve iki kaynağı bağladınız. Bu kurulumu kullanarak cihaz sağlamayı öğrenmek için cihaz oluşturma hızlı başlangıcına geçin.
Azure İşlevleri oluşturmak, web uygulamalarını uygulamak ve yönetmek, Azure depolamayı kullanan çözümler geliştirmek ve daha fazlasını yapmak için Microsoft Azure'da uçtan uca çözümler oluşturun.
DPS IP adresinizi ve özelliklerini sorgula. Olağanüstü durum kurtarma veya bölgesel yük devretme gibi senaryolarda DPS örneğinizin IP adresi değişebilir.