Mengatur lokasi sumber daya dalam templat ARM
Saat menyebarkan templat Azure Resource Manager (templat ARM), Anda harus menyediakan lokasi untuk setiap sumber daya. Lokasi tidak harus sama dengan lokasi grup sumber daya.
Mendapatkan lokasi yang tersedia
Jenis sumber daya yang berbeda didukung di lokasi yang berbeda. Untuk mendapatkan lokasi yang didukung untuk jenis sumber daya, gunakan Azure PowerShell atau Azure CLI.
((Get-AzResourceProvider -ProviderNamespace Microsoft.Batch).ResourceTypes `
| Where-Object ResourceTypeName -eq batchAccounts).Locations
Menggunakan parameter lokasi
Untuk memungkinkan fleksibilitas saat menyebarkan templat Anda, gunakan parameter untuk menentukan lokasi sumber daya. Tetapkan nilai default parameter ke resourceGroup().location
.
Contoh berikut menunjukkan akun penyimpanan yang disebarkan ke lokasi yang ditentukan sebagai parameter:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"storageAccountType": {
"type": "string",
"defaultValue": "Standard_LRS",
"allowedValues": [
"Standard_LRS",
"Standard_GRS",
"Standard_ZRS",
"Premium_LRS"
],
"metadata": {
"description": "Storage Account type"
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Location for all resources."
}
}
},
"variables": {
"storageAccountName": "[format('storage{0}', uniqueString(resourceGroup().id))]"
},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2022-09-01",
"name": "[variables('storageAccountName')]",
"location": "[parameters('location')]",
"sku": {
"name": "[parameters('storageAccountType')]"
},
"kind": "StorageV2",
"properties": {}
}
],
"outputs": {
"storageAccountName": {
"type": "string",
"value": "[variables('storageAccountName')]"
}
}
}
Langkah berikutnya
- Untuk mengetahui daftar lengkap fungsi templat, lihat Fungsi templat ARM.
- Untuk informasi selengkapnya, lihat Memahami struktur dan sintaks templat ARM.