Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Saat Anda mengembangkan aplikasi, penting untuk memiliki portabilitas templat antara Azure dan Azure Stack Hub. Artikel ini menyediakan pertimbangan untuk mengembangkan templat Azure Resource Manager. Dengan templat ini, Anda dapat membuat prototipe aplikasi dan menguji penyebaran di Azure tanpa akses ke lingkungan Azure Stack Hub.
Ketersediaan penyedia sumber daya
Templat yang Anda rencanakan untuk disebarkan hanya boleh menggunakan layanan Microsoft Azure yang sudah tersedia, atau dalam pratinjau, di Azure Stack Hub.
Namespace publik
Karena Azure Stack Hub dihosting di pusat data Anda, Azure Stack Hub memiliki namespace layanan titik akhir yang berbeda dari cloud publik Azure. Akibatnya, titik akhir publik yang dikode permanen di templat Azure Resource Manager tidak berfungsi ketika Anda mencoba menyebarkannya ke Azure Stack Hub. Anda dapat membangun titik akhir layanan secara dinamis menggunakan reference fungsi dan concatenate untuk mengambil nilai dari penyedia sumber daya selama penyebaran. Misalnya, daripada secara manual menetapkan blob.core.windows.net di templat Anda, ambil data primaryEndpoints.blob untuk secara dinamis mengatur titik akhir osDisk.URI:
"osDisk": {"name": "osdisk","vhd": {"uri":
"[concat(reference(concat('Microsoft.Storage/storageAccounts/', variables('storageAccountName')), '2015-06-15').primaryEndpoints.blob, variables('vmStorageAccountContainerName'),
'/',variables('OSDiskName'),'.vhd')]"}}
Pemversionan API
Versi layanan Azure mungkin berbeda antara Azure dan Azure Stack Hub. Setiap sumber daya memerlukan atribut apiVersion , yang menentukan kemampuan yang ditawarkan. Untuk memastikan kompatibilitas versi API di Azure Stack Hub, versi API berikut ini valid untuk setiap penyedia sumber daya:
| Penyedia Sumber Daya | apiVersi |
|---|---|
| Komputasi | 2015-06-15 |
| Jaringan | 2015-06-15, 2015-05-01-preview |
| Penyimpanan | 2016-01-01, 2015-06-15, 2015-05-01-preview |
| KeyVault | 2015-06-01 |
| Layanan Aplikasi | 2015-08-01 |
Fungsi templat
Fungsi Azure Resource Manager menyediakan kemampuan yang diperlukan untuk membangun templat dinamis. Sebagai contoh, Anda dapat menggunakan fungsi untuk tugas seperti:
- Menggabungkan atau memangkas string.
- Mereferensikan nilai dari sumber daya lain.
- Melakukan iterasi pada sumber daya untuk menginstal beberapa instans.
Fungsi-fungsi ini tidak tersedia di Azure Stack Hub:
- Lewati
- Ambil
Lokasi sumber daya
Templat Azure Resource Manager menggunakan location atribut untuk menempatkan sumber daya selama penyebaran. Di Azure, lokasi merujuk ke wilayah seperti AS Barat atau Amerika Selatan. Di Azure Stack Hub, lokasi berbeda karena Azure Stack Hub berada di pusat data Anda. Untuk memastikan templat dapat ditransfer antara Azure dan Azure Stack Hub, Anda harus mereferensikan lokasi grup sumber daya saat Anda menyebarkan sumber daya individual. Anda dapat melakukan ini menggunakan [resourceGroup().Location] untuk memastikan semua sumber daya mewarisi lokasi grup sumber daya. Kode berikut adalah contoh penggunaan fungsi ini saat menyebarkan akun penyimpanan:
"resources": [
{
"name": "[variables('storageAccountName')]",
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "[variables('apiVersionStorage')]",
"location": "[resourceGroup().location]",
"comments": "This storage account is used to store the VM disks",
"properties": {
"accountType": "Standard_LRS"
}
}
]