Para meters in Azure Resource Manager sjablonenParameters in Azure Resource Manager templates

In dit artikel wordt beschreven hoe u para meters definieert en gebruikt in uw Azure Resource Manager sjabloon.This article describes how to define and use parameters in your Azure Resource Manager template. Door verschillende waarden voor para meters op te geven, kunt u een sjabloon gebruiken voor verschillende omgevingen.By providing different values for parameters, you can reuse a template for different environments.

Resource Manager zet parameter waarden om voordat de implementatie bewerkingen worden gestart.Resource Manager resolves parameter values before starting the deployment operations. Wanneer de para meter wordt gebruikt in de sjabloon, wordt deze vervangen door de omgezette waarde.Wherever the parameter is used in the template, Resource Manager replaces it with the resolved value.

Para meter definiƫrenDefine parameter

In het volgende voor beeld ziet u een eenvoudige parameter definitie.The following example shows a simple parameter definition. Hiermee wordt een para meter gedefinieerd met de naam storageSKU.It defines a parameter named storageSKU. De para meter is een teken reeks waarde en accepteert alleen waarden die geldig zijn voor het beoogde gebruik.The parameter is a string value, and only accepts values that are valid for its intended use. De para meter gebruikt een standaard waarde wanneer er geen waarde wordt gegeven tijdens de implementatie.The parameter uses a default value when no value is provided during deployment.

"parameters": {
  "storageSKU": {
    "type": "string",
    "allowedValues": [
      "Standard_LRS",
      "Standard_ZRS",
      "Standard_GRS",
      "Standard_RAGRS",
      "Premium_LRS"
    ],
    "defaultValue": "Standard_LRS",
    "metadata": {
      "description": "The type of replication to use for the storage account."
    }
  }
}

Para meter gebruikenUse parameter

In de sjabloon verwijst u naar de waarde voor de para meter met behulp van de para meters -functie.In the template, you reference the value for the parameter by using the parameters function. In het volgende voor beeld wordt de waarde van de para meter gebruikt om SKU in te stellen voor het opslag account.In the following example, the parameter value is used to set SKU for the storage account.

"resources": [
  {
    "type": "Microsoft.Storage/storageAccounts",
    "sku": {
      "name": "[parameters('storageSKU')]"
    },
    ...
  }
]

SjabloonfunctiesTemplate functions

Wanneer u de standaard waarde voor een para meter opgeeft, kunt u de meeste sjabloon functies gebruiken.When specifying the default value for a parameter, you can use most template functions. U kunt een andere parameter waarde gebruiken om een standaard waarde te maken.You can use another parameter value to build a default value. De volgende sjabloon toont het gebruik van functies in de standaard waarde.The following template demonstrates the use of functions in the default value. Als er geen naam wordt gegeven voor de site, maakt deze een unieke teken reeks waarde en voegt deze toe aan de site.When no name is provided for the site, it creates a unique string value and appends it to site. Als er geen naam wordt gegeven voor het host-abonnement, neemt deze de waarde voor de-site en de -plantoe.When no name is provided for the host plan, it takes the value for the site, and appends -plan.

"parameters": {
  "siteName": {
    "type": "string",
    "defaultValue": "[concat('site', uniqueString(resourceGroup().id))]",
    "metadata": {
      "description": "The site name. To use the default value, do not specify a new value."
    }
  },
  "hostingPlanName": {
    "type": "string",
    "defaultValue": "[concat(parameters('siteName'),'-plan')]",
    "metadata": {
      "description": "The host name. To use the default value, do not specify a new value."
    }
  }
}

U kunt de functie Reference of een van de lijst functies niet gebruiken in de para meters van de sectie.You can't use the reference function or any of the list functions in the parameters section. Deze functies halen de runtime status van een resource en kunnen niet worden uitgevoerd voor implementatie wanneer para meters worden omgezet.These functions get the runtime state of a resource, and can't be executed before deployment when parameters are resolved.

Objecten als para metersObjects as parameters

Het kan gemakkelijker zijn om verwante waarden te organiseren door ze als een object door te geven.It can be easier to organize related values by passing them in as an object. Deze benadering vermindert ook het aantal para meters in de sjabloon.This approach also reduces the number of parameters in the template.

In het volgende voor beeld ziet u een para meter die een-object is.The following example shows a parameter that is an object. De standaard waarde toont de verwachte eigenschappen van het object.The default value shows the expected properties for the object.

"parameters": {
  "VNetSettings": {
    "type": "object",
    "defaultValue": {
      "name": "VNet1",
      "location": "eastus",
      "addressPrefixes": [
        {
          "name": "firstPrefix",
          "addressPrefix": "10.0.0.0/22"
        }
      ],
      "subnets": [
        {
          "name": "firstSubnet",
          "addressPrefix": "10.0.0.0/24"
        },
        {
          "name": "secondSubnet",
          "addressPrefix": "10.0.1.0/24"
        }
      ]
    }
  }
},

U verwijst naar de eigenschappen van het object met behulp van de punt operator.You reference the properties of the object by using the dot operator.

"resources": [
  {
    "apiVersion": "2015-06-15",
    "type": "Microsoft.Network/virtualNetworks",
    "name": "[parameters('VNetSettings').name]",
    "location": "[parameters('VNetSettings').location]",
    "properties": {
      "addressSpace":{
        "addressPrefixes": [
          "[parameters('VNetSettings').addressPrefixes[0].addressPrefix]"
        ]
      },
      "subnets":[
        {
          "name":"[parameters('VNetSettings').subnets[0].name]",
          "properties": {
            "addressPrefix": "[parameters('VNetSettings').subnets[0].addressPrefix]"
          }
        },
        {
          "name":"[parameters('VNetSettings').subnets[1].name]",
          "properties": {
            "addressPrefix": "[parameters('VNetSettings').subnets[1].addressPrefix]"
          }
        }
      ]
    }
  }
]

VoorbeeldsjablonenExample templates

In de volgende voor beelden ziet u scenario's voor het gebruik van para meters.The following examples demonstrate scenarios for using parameters.

TemplateTemplate BeschrijvingDescription
para meters met functies voor standaard waardenparameters with functions for default values Demonstreert hoe u sjabloon functies gebruikt bij het definiƫren van standaard waarden voor para meters.Demonstrates how to use template functions when defining default values for parameters. De sjabloon implementeert geen resources.The template doesn't deploy any resources. Er worden parameter waarden gemaakt en deze waarden worden geretourneerd.It constructs parameter values and returns those values.
parameter objectparameter object Laat zien hoe u een object gebruikt voor een para meter.Demonstrates using an object for a parameter. De sjabloon implementeert geen resources.The template doesn't deploy any resources. Er worden parameter waarden gemaakt en deze waarden worden geretourneerd.It constructs parameter values and returns those values.

Volgende stappenNext steps