在 ARM 範本中設定資源位置
部署 Azure Resource Manager 範本 (ARM 範本) 時,您必須提供每個資源的位置。 該位置不需要與資源群組的位置相同。
取得可用的位置
不同的位置支援不同的資源類型。 若要取得資源類型支援的位置,請使用 Azure PowerShell 或 Azure CLI。
((Get-AzResourceProvider -ProviderNamespace Microsoft.Batch).ResourceTypes `
| Where-Object ResourceTypeName -eq batchAccounts).Locations
使用位置參數
為了在部署範本時提供彈性,請使用參數來指定資源的位置。 將參數的預設值設為 resourceGroup().location
。
下列範例顯示部署至某個 (已指定為參數) 位置的儲存體帳戶:
{
"$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')]"
}
}
}
下一步
- 如需範本函數的完整清單,請參閱 ARM 範本函數。
- 如需範本檔案的詳細資訊,請參閱了解 ARM 範本的結構和語法。