Ange resursplats i ARM-mall

När du distribuerar en Azure Resource Manager-mall (ARM-mall) måste du ange en plats för varje resurs. Platsen behöver inte vara samma plats som resursgruppens plats.

Hämta tillgängliga platser

Olika resurstyper stöds på olika platser. Om du vill hämta de platser som stöds för en resurstyp använder du Azure PowerShell eller Azure CLI.

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

Använda platsparameter

Om du vill tillåta flexibilitet när du distribuerar mallen använder du en parameter för att ange platsen för resurser. Ange standardvärdet för parametern till resourceGroup().location.

I följande exempel visas ett lagringskonto som distribueras till en plats som anges som en 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')]"
    }
  }
}

Nästa steg