Impostare il percorso delle risorse nel modello di Resource Manager

Quando si distribuisce un modello di Azure Resource Manager (modello ARM), è necessario fornire una posizione per ogni risorsa. La posizione non deve essere la stessa posizione del percorso del gruppo di risorse.

Ottenere le posizioni disponibili

Diversi tipi di risorse sono supportati in posizioni diverse. Per ottenere le posizioni supportate per un tipo di risorsa, usare Azure PowerShell o l'interfaccia della riga di comando di Azure.

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

Usare il parametro location

Per consentire la flessibilità durante la distribuzione del modello, usare un parametro per specificare la posizione per le risorse. Impostare il valore predefinito del parametro su resourceGroup().location.

L'esempio seguente illustra un account di archiviazione che viene distribuito in una posizione specificata come parametro:

{
  "$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')]"
    }
  }
}

Passaggi successivi