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.
Dalam tutorial ini, Anda mempelajari cara menambahkan fungsi templat ke templat Azure Resource Manager (templat ARM). Anda menggunakan fungsi untuk membangun nilai secara dinamis. Selain fungsi templat yang disediakan sistem ini, Anda juga dapat membuat fungsi yang ditentukan pengguna. Tutorial ini membutuhkan waktu 7 menit untuk diselesaikan.
Prasyarat
Kami menyarankan agar Anda menyelesaikan tutorial tentang parameter, tetapi tidak diperlukan.
Anda harus memiliki Visual Studio Code dan Azure PowerShell atau Azure CLI. Untuk informasi selengkapnya, lihat alat templat.
Meninjau templat
Di akhir tutorial sebelumnya, templat Anda memiliki file JSON berikut:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"storageName": {
"type": "string",
"minLength": 3,
"maxLength": 24
},
"storageSKU": {
"type": "string",
"defaultValue": "Standard_LRS",
"allowedValues": [
"Standard_LRS",
"Standard_GRS",
"Standard_RAGRS",
"Standard_ZRS",
"Premium_LRS",
"Premium_ZRS",
"Standard_GZRS",
"Standard_RAGZRS"
]
}
},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2025-06-01",
"name": "[parameters('storageName')]",
"location": "eastus",
"sku": {
"name": "[parameters('storageSKU')]"
},
"kind": "StorageV2",
"properties": {
"supportsHttpsTrafficOnly": true
}
}
]
}
Misalkan Anda mengkodekan lokasi akun penyimpanan Azure ke eastus, tetapi Anda perlu menyebarkannya ke wilayah lain. Anda perlu menambahkan parameter untuk menambahkan fleksibilitas ke templat Anda dan memungkinkannya memiliki lokasi yang berbeda.
Gunakan fungsi
Jika Anda menyelesaikan tutorial parameter, Anda menggunakan fungsi. Saat Anda menambahkan "[parameters('storageName')]", Anda menggunakan fungsi parameter . Tanda kurung menunjukkan bahwa sintaks di dalam tanda kurung adalah ekspresi templat. Resource Manager menyelesaikan sintaks alih-alih memperlakukannya sebagai nilai harfiah.
Functions menambahkan fleksibilitas ke templat Anda dengan mendapatkan nilai secara dinamis selama penyebaran. Dalam tutorial ini, Anda menggunakan fungsi untuk mendapatkan lokasi penyebaran grup sumber daya.
Contoh berikut menyoroti perubahan untuk menambahkan parameter yang disebut location. Nilai default parameter memanggil fungsi resourceGroup . Fungsi ini mengembalikan objek dengan informasi tentang grup sumber daya yang disebarkan. Salah satu properti objek adalah properti lokasi. Saat Anda menggunakan nilai default, akun penyimpanan dan grup sumber daya memiliki lokasi yang sama. Sumber daya di dalam grup memiliki lokasi yang berbeda.
Salin seluruh file, dan ganti templat Anda dengan kontennya:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"storageName": {
"type": "string",
"minLength": 3,
"maxLength": 24
},
"storageSKU": {
"type": "string",
"defaultValue": "Standard_LRS",
"allowedValues": [
"Standard_LRS",
"Standard_GRS",
"Standard_RAGRS",
"Standard_ZRS",
"Premium_LRS",
"Premium_ZRS",
"Standard_GZRS",
"Standard_RAGZRS"
]
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]"
}
},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2025-06-01",
"name": "[parameters('storageName')]",
"location": "[parameters('location')]",
"sku": {
"name": "[parameters('storageSKU')]"
},
"kind": "StorageV2",
"properties": {
"supportsHttpsTrafficOnly": true
}
}
]
}
Menyebarkan templat
Dalam tutorial sebelumnya, Anda membuat akun penyimpanan di US Timur, tetapi grup sumber daya Anda dibuat di US Tengah. Untuk tutorial ini, Anda membuat akun penyimpanan di wilayah yang sama dengan grup sumber daya. Gunakan nilai default untuk lokasi, sehingga Anda tidak perlu memberikan nilai parameter tersebut. Anda perlu memberikan nama baru untuk akun penyimpanan karena Anda membuat akun penyimpanan di lokasi yang berbeda. Gunakan store2, misalnya, sebagai awalan alih-alih store1.
Jika Anda belum membuat grup sumber daya, lihat Membuat grup sumber daya. Contoh mengasumsikan Anda telah mengatur templateFile variabel ke jalur ke file templat, seperti yang ditunjukkan dalam tutorial pertama.
New-AzResourceGroupDeployment `
-Name addlocationparameter `
-ResourceGroupName myResourceGroup `
-TemplateFile $templateFile `
-storageName "{new-unique-name}"
Nota
Jika penyebaran gagal, gunakan sakelar verbose untuk mendapatkan informasi tentang sumber daya yang dibuat. Gunakan saklar debug untuk mendapatkan informasi selengkapnya untuk pemecahan masalah.
Verifikasi implementasi
Anda dapat memverifikasi penyebaran dengan menjelajahi grup sumber daya dari portal Microsoft Azure.
- Masuk ke portal Azure.
- Dari menu sebelah kiri, pilih Grup sumber daya.
- Centang kotak di sebelah kiri myResourceGroup dan pilih myResourceGroup.
- Pilih grup sumber daya yang Anda buat. Nama defaultnya adalah myResourceGroup.
- Perhatikan akun penyimpanan yang telah Anda terapkan dan grup sumber daya Anda memiliki lokasi yang sama.
Membersihkan sumber daya
Jika Anda melanjutkan ke tutorial berikutnya, Anda tidak perlu menghapus grup sumber daya.
Jika berhenti sekarang, Anda mungkin ingin menghapus grup sumber daya.
- Dari portal Microsoft Azure, pilih Grup sumber daya dari menu sebelah kiri.
- Ketik nama grup sumber daya di kotak teks Filter untuk bidang apa pun....
- Centang kotak di samping myResourceGroup dan pilih myResourceGroup atau nama grup sumber daya Anda.
- Pilih Hapus grup sumber daya dari menu atas.
Langkah selanjutnya
Dalam tutorial ini, Anda menggunakan fungsi untuk menentukan nilai default untuk parameter. Dalam seri tutorial ini, Anda melanjutkan menggunakan fungsi. Pada akhir seri, Anda menambahkan fungsi ke setiap bagian templat.