Definir a localização do recurso no modelo do ARM
Ao implementar um modelo do Azure Resource Manager (modelo arm), tem de fornecer uma localização para cada recurso. A localização não tem de ser a mesma localização que a localização do grupo de recursos.
Obter localizações disponíveis
São suportados diferentes tipos de recursos em localizações diferentes. Para obter as localizações suportadas para um tipo de recurso, utilize Azure PowerShell ou a CLI do Azure.
((Get-AzResourceProvider -ProviderNamespace Microsoft.Batch).ResourceTypes `
| Where-Object ResourceTypeName -eq batchAccounts).Locations
Utilizar o parâmetro de localização
Para permitir flexibilidade ao implementar o modelo, utilize um parâmetro para especificar a localização dos recursos. Defina o valor predefinido do parâmetro como resourceGroup().location
.
O exemplo seguinte mostra uma conta de armazenamento que é implementada numa localização especificada como um parâmetro:
{
"$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')]"
}
}
}
Passos seguintes
- Para obter a lista completa das funções de modelo, veja Funções de modelo do ARM.
- Para obter mais informações sobre ficheiros de modelo, veja Compreender a estrutura e a sintaxe dos modelos do ARM.