Resourcelocatie instellen in ARM-sjabloon

Wanneer u een ARM-sjabloon (Azure Resource Manager) implementeert, moet u voor elke resource een locatie opgeven. De locatie hoeft niet dezelfde locatie te zijn als de locatie van de resourcegroep.

Beschikbare locaties ophalen

Verschillende resourcetypen worden ondersteund op verschillende locaties. Gebruik Azure PowerShell of Azure CLI om de ondersteunde locaties voor een resourcetype op te halen.

((Get-AzResourceProvider -ProviderNamespace Microsoft.Batch).ResourceTypes `
  | Where-Object ResourceTypeName -eq batchAccounts).Locations

Locatieparameter gebruiken

Als u flexibiliteit wilt bieden bij het implementeren van uw sjabloon, gebruikt u een parameter om de locatie voor resources op te geven. Stel de standaardwaarde van de parameter in op resourceGroup().location.

In het volgende voorbeeld ziet u een opslagaccount dat is geïmplementeerd op een locatie die is opgegeven als 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')]"
    }
  }
}

Volgende stappen