Mulai cepat: Menyiapkan IoT Hub Device Provisioning Service (DPS) dengan template ARM
Anda dapat menggunakan template Azure Resource Manager (template ARM) untuk menyiapkan sumber daya cloud Azure secara terprogram yang diperlukan untuk provisi perangkat Anda. Langkah-langkah ini menunjukkan cara membuat IoT hub dan IoT Hub Device Provisioning Service baru dengan template ARM. Hub Iot juga ditautkan ke sumber daya DPS menggunakan template. Penautan ini mengizinkan sumber daya DPS untuk menetapkan perangkat ke hub berdasarkan kebijakan alokasi yang Anda konfigurasikan.
Templat Azure Resource Manager adalah file JavaScript Object Notation (JSON) yang menentukan infrastruktur dan konfigurasi untuk proyek Anda. Template tersebut menggunakan sintaksis deklaratif. Anda menjelaskan penyebaran yang Dimaksudkan tanpa menulis urutan perintah pemrograman untuk membuat penyebaran.
Mulai cepat ini menggunakan portal Azure dan Azure CLI untuk melakukan langkah-langkah terprogram yang diperlukan untuk membuat grup sumber daya dan menyebarkan templat. Namun, Anda juga dapat menggunakan PowerShell, .NET, Ruby, atau bahasa pemrograman lainnya untuk melakukan langkah-langkah ini dan menyebarkan templat Anda.
Jika lingkungan Anda memenuhi prasyarat, dan Anda sudah terbiasa menggunakan templat ARM, memilih tombol Sebarkan ke Azure akan membuka templat untuk penyebaran di portal Azure.
Jika Anda tidak memiliki Langganan Azure, buat Akun gratis Azure sebelum memulai.
Prasyarat
Gunakan lingkungan Bash di Azure Cloud Shell. Untuk informasi selengkapnya, lihat Mulai Cepat untuk Bash di Azure Cloud Shell.
Jika Anda lebih suka menjalankan perintah referensi CLI secara lokal, instal Azure CLI. Jika Anda menjalankan Windows atau macOS, pertimbangkan untuk menjalankan Azure CLI dalam kontainer Docker. Untuk informasi lebih lanjut, lihat Cara menjalankan Azure CLI di kontainer Docker.
Jika Anda menggunakan instalasi lokal, masuk ke Azure CLI dengan menggunakan perintah login az. Untuk menyelesaikan proses autentikasi, ikuti langkah-langkah yang ditampilkan di terminal Anda. Untuk opsi masuk lainnya, lihat Masuk dengan Azure CLI.
Saat Anda diminta, instal ekstensi Azure CLI pada penggunaan pertama. Untuk informasi selengkapnya tentang ekstensi, lihat Menggunakan ekstensi dengan Azure CLI.
Jalankan versi az untuk menemukan versi dan pustaka dependen yang diinstal. Untuk meningkatkan ke versi terbaru, jalankan peningkatan az.
Meninjau templat
Templat yang digunakan di mulai cepat ini berasal dari Templat Mulai Cepat Azure.
Catatan
Saat ini tidak ada dukungan template ARM untuk membuat pendaftaran dengan sumber daya DPS baru. Ini adalah permintaan umum dan dipahami yang sedang dipertimbangkan untuk implementasi.
{
"$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'))]"
]
}
]
}
Dua sumber daya Azure didefinisikan dalam templat sebelumnya:
- Microsoft.Devices/IotHubs: Membuat hub Azure IoT baru.
- Microsoft.Devices/provisioningServices: Membuat Azure IoT Hub Device Provisioning Service baru dengan hub IoT baru yang sudah ditautkan ke layanan tersebut.
Menyebarkan templat
Menyebarkan dengan Portal
Pilih gambar berikut untuk masuk ke Azure dan buka template untuk penyebaran. Templat membuat hub Iot dan sumber daya DPS baru. Hub IoT baru ditautkan ke sumber daya DPS.
Pilih atau masukkan nilai berikut dan pilih Tinjau + Buat.
Kecuali ditentukan lain untuk bidang berikut, gunakan nilai default untuk membuat sumber daya Iot Hub dan DPS.
Bidang Deskripsi Langganan Pilih langganan Azure Anda. Grup sumber daya Pilih Buat baru, dan masukkan nama unik untuk grup sumber daya, lalu pilih OK. Wilayah Pilih wilayah untuk sumber daya Anda. Misalnya, US Timur. Untuk ketahanan dan keandalan, sebaiknya sebarkan ke salah satu wilayah yang mendukung Zona Ketersediaan. Nama IoT Hub Masukkan nama unik secara global untuk IoT Hub dalam namespace layanan .azure-devices.net. Anda memerlukan nama hub di bagian berikutnya saat memvalidasi penyebaran. Nama Layanan Provisi Masukkan nama untuk sumber daya Device Provisioning Service (DPS) baru. Nama harus unik secara global dalam namespace layanan .azure-devices-provisioning.net. Anda memerlukan nama DPS di bagian berikutnya saat memvalidasi penyebaran. Pada layar berikutnya, baca ketentuan. Jika Anda menyetujui semua persyaratan, pilih Buat.
Penyebaran membutuhkan waktu beberapa saat untuk diselesaikan.
Selain portal Microsoft Azure, Anda juga dapat menggunakan Azure PowerShell, Azure CLI, dan REST API. Untuk mempelajari metode penyebaran lainnya, lihat Menyebarkan templat.
Menyebarkan dengan Azure CLI
Pengunaan Azure CLI memerlukan versi 2.6 atau yang lebih baru. Jika Anda menjalankan Azure CLI secara lokal, verifikasi versi Anda dengan menjalankan: az --version
Masuklah ke akun Azure Anda dan pilih langganan Anda.
Jika Anda menjalankan Azure CLI secara lokal alih-alih menjalankannya di portal, Anda perlu masuk. Untuk masuk di prompt perintah, jalankan perintah masuk:
az login
Ikuti instruksinya untuk mengautentikasi menggunakan kode dan masuk ke akun Azure Anda melalui browser web.
Jika Anda memiliki beberapa langganan Azure, maka masuk ke Azure akan memberi Anda akses ke semua akun Azure yang terkait dengan informasi masuk Anda. Gunakan perintah berikut ini untuk mencantumkan akun Azure yang tersedia untuk Anda gunakan:
az account list -o table
Gunakan perintah berikut untuk memilih langganan yang Anda ingin gunakan untuk menjalankan perintah untuk membuat loT hub dan sumber daya DPS Anda. Anda dapat menggunakan nama atau ID langganan dari output perintah sebelumnya:
az account set --subscription {your subscription name or id}
Salin dan tempel perintah berikut ke dalam CLI permintaan Anda. Kemudian jalankan perintah dengan memilih tombol Enter.
Tip
Perintah meminta lokasi grup sumber daya. Anda dapat menampilkan daftar lokasi yang tersedia dengan menjalankan perintah terlebih dahulu:
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
Perintah meminta informasi berikut. Berikan setiap nilai dan pilih tombol Enter.
Parameter Deskripsi Nama proyek Nilai parameter ini digunakan untuk membuat grup sumber daya untuk menyimpan semua sumber daya. String rg
ditambahkan ke akhir nilai untuk nama grup sumber daya Anda.Lokasi Nilai ini adalah wilayah tempat semua sumber daya dibuat. iotHubName Masukkan nama unik secara global untuk IoT Hub dalam namespace layanan .azure-devices.net. Anda memerlukan nama hub di bagian berikutnya saat memvalidasi penyebaran. provisioningServiceName Masukkan nama untuk sumber daya Device Provisioning Service (DPS) baru. Nama harus unik secara global dalam namespace layanan .azure-devices-provisioning.net. Anda memerlukan nama DPS di bagian berikutnya saat memvalidasi penyebaran. Azure CLI digunakan untuk menyebarkan templat. Selain Azure CLI, Anda juga dapat menggunakan Azure PowerShell, portal Microsoft Azure, dan REST API. Untuk mempelajari metode penyebaran lainnya, lihat Menyebarkan templat.
Meninjau sumber daya yang disebarkan
Untuk memverifikasi penyebaran, jalankan perintah berikut ini untuk mencantumkan sumber daya dan mencari layanan provisi baru dan IoT hub dalam output:
az resource list -g "${projectName}rg"
Untuk memverifikasi bahwa hub sudah ditautkan ke sumber daya DPS, jalankan perintah ekstensi DPS berikut ini.
az iot dps show --name <Your provisioningServiceName>
Perhatikan hub yang ditautkan pada anggota
iotHubs
.
Membersihkan sumber daya
Panduan mulai cepat yang lain dalam koleksi ini dibangun berdasarkan panduan mulai cepat ini. Jika Anda berencana untuk terus bekerja dengan mulai cepat berikutnya atau dengan tutorial, jangan bersihkan sumber daya yang dibuat dalam mulai cepat ini. Jika Anda tidak berencana untuk melanjutkan, Anda dapat menggunakan portal Azure atau Azure CLI untuk menghapus grup sumber daya dan semua sumber dayanya.
Untuk menghapus grup sumber daya dan semua sumber dayanya dari portal Azure, cukup buka grup sumber daya dan pilih Hapus grup sumber daya dan bagian atas.
Untuk menghapus grup sumber daya yang disebarkan menggunakan Azure CLI:
az group delete --name "${projectName}rg"
Anda juga dapat menghapus grup sumber daya dan sumber daya individual menggunakan salah satu opsi berikut:
- Portal Azure
- PowerShell
- REST API
- SDK platform yang didukung diterbitkan untuk Azure Resource Manager atau IoT Hub Device Provisioning Service
Langkah berikutnya
Dalam mulai cepat ini, Anda menyebarkan hub IoT dan instans Device Provisioning Service, dan menautkan dua sumber daya. Untuk mempelajari cara menggunakan penyetelan ini untuk provisikan perangkat, lanjutkan ke mulai cepat untuk membuat perangkat.