Ustawianie lokalizacji zasobu w szablonie usługi ARM

Podczas wdrażania Azure Resource Manager szablonu usługi Arm należy podać lokalizację dla każdego zasobu. Lokalizacja nie musi być taką samą lokalizacją, jak lokalizacja grupy zasobów.

Uzyskiwanie dostępnych lokalizacji

Różne typy zasobów są obsługiwane w różnych lokalizacjach. Aby uzyskać obsługiwane lokalizacje dla typu zasobu, użyj polecenia Azure PowerShell wiersza polecenia platformy Azure.

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

Używanie parametru lokalizacji

Aby zapewnić elastyczność podczas wdrażania szablonu, użyj parametru , aby określić lokalizację zasobów. Ustaw wartość domyślną parametru na resourceGroup().location .

W poniższym przykładzie pokazano konto magazynu wdrożone w lokalizacji określonej jako parametr:

{
  "$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": "[concat('storage', uniquestring(resourceGroup().id))]"
  },
  "resources": [
    {
      "type": "Microsoft.Storage/storageAccounts",
      "apiVersion": "2018-07-01",
      "name": "[variables('storageAccountName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "[parameters('storageAccountType')]"
      },
      "kind": "StorageV2",
      "properties": {}
    }
  ],
  "outputs": {
    "storageAccountName": {
      "type": "string",
      "value": "[variables('storageAccountName')]"
    }
  }
}

Następne kroki