Inzicht in de structuur en syntaxis van Azure Resource Manager sjablonenUnderstand the structure and syntax of Azure Resource Manager templates

In dit artikel wordt de structuur van een Azure Resource Manager sjabloon beschreven.This article describes the structure of an Azure Resource Manager template. Het biedt de verschillende secties van een sjabloon en de eigenschappen die beschikbaar zijn in deze secties.It presents the different sections of a template and the properties that are available in those sections.

Dit artikel is bedoeld voor gebruikers die bekend zijn met Resource Manager-sjablonen.This article is intended for users who have some familiarity with Resource Manager templates. Het bevat gedetailleerde informatie over de structuur van de sjabloon.It provides detailed information about the structure of the template. Zie zelf studie: uw eerste Azure Resource Manager sjabloon maken en implementerenvoor een stapsgewijze zelf studie waarin u door het proces van het maken van een sjabloon wordt geleid.For a step-by-step tutorial that guides you through the process of creating a template, see Tutorial: Create and deploy your first Azure Resource Manager template.

Sjabloon indelingTemplate format

In de eenvoudigste structuur heeft een sjabloon de volgende elementen:In its simplest structure, a template has the following elements:

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "",
  "apiProfile": "",
  "parameters": {  },
  "variables": {  },
  "functions": [  ],
  "resources": [  ],
  "outputs": {  }
}
ElementnaamElement name VereistRequired BeschrijvingDescription
$schema$schema JaYes Locatie van het JSON-schema bestand waarin de versie van de sjabloon taal wordt beschreven.Location of the JSON schema file that describes the version of the template language.

Gebruik voor implementaties van resource groepen: https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#For resource group deployments, use: https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#

Gebruik voor implementaties van abonnementen: https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentTemplate.json#For subscription deployments, use: https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentTemplate.json#
contentVersioncontentVersion JaYes De versie van de sjabloon (bijvoorbeeld 1.0.0.0).Version of the template (such as 1.0.0.0). U kunt een wille keurige waarde voor dit element opgeven.You can provide any value for this element. Gebruik deze waarde als u belang rijke wijzigingen in uw sjabloon wilt documenteren.Use this value to document significant changes in your template. Wanneer u resources implementeert met behulp van de sjabloon, kan deze waarde worden gebruikt om ervoor te zorgen dat de juiste sjabloon wordt gebruikt.When deploying resources using the template, this value can be used to make sure that the right template is being used.
apiProfileapiProfile NeeNo Een API-versie die fungeert als een verzameling van API-versies voor resource typen.An API version that serves as a collection of API versions for resource types. Gebruik deze waarde om te voor komen dat u API-versies opgeeft voor elke resource in de sjabloon.Use this value to avoid having to specify API versions for each resource in the template. Wanneer u een API-profiel versie opgeeft en geen API-versie voor het resource type opgeeft, gebruikt Resource Manager de API-versie voor het bron type dat in het profiel is gedefinieerd.When you specify an API profile version and don't specify an API version for the resource type, Resource Manager uses the API version for that resource type that is defined in the profile.

De API-profiel eigenschap is vooral handig bij het implementeren van een sjabloon in verschillende omgevingen, zoals Azure Stack en wereld wijd Azure.The API profile property is especially helpful when deploying a template to different environments, such as Azure Stack and global Azure. Gebruik de versie van het API-profiel om ervoor te zorgen dat uw sjabloon automatisch versies gebruikt die in beide omgevingen worden ondersteund.Use the API profile version to make sure your template automatically uses versions that are supported in both environments. Zie API-profielvoor een lijst met de huidige API-profiel versies en de bronnen-API-versies die in het profiel zijn gedefinieerd.For a list of the current API profile versions and the resources API versions defined in the profile, see API Profile.

Zie versies bijhouden met API-profielenvoor meer informatie.For more information, see Track versions using API profiles.
parametersparameters NeeNo Waarden die worden gegeven bij het uitvoeren van de implementatie om de resource-implementatie aan te passen.Values that are provided when deployment is executed to customize resource deployment.
variabelenvariables NeeNo Waarden die worden gebruikt als JSON-fragmenten in de sjabloon voor het vereenvoudigen van sjabloon taal expressies.Values that are used as JSON fragments in the template to simplify template language expressions.
vervullenfunctions NeeNo Door de gebruiker gedefinieerde functies die beschikbaar zijn in de sjabloon.User-defined functions that are available within the template.
resourcesresources JaYes Resource typen die worden geïmplementeerd of bijgewerkt in een resource groep of-abonnement.Resource types that are deployed or updated in a resource group or subscription.
uitvoeroutputs NeeNo Waarden die worden geretourneerd na de implementatie.Values that are returned after deployment.

Elk element heeft eigenschappen die u kunt instellen.Each element has properties you can set. In dit artikel worden de secties van de sjabloon uitvoeriger beschreven.This article describes the sections of the template in greater detail.

ParametersParameters

In het gedeelte para meters van de sjabloon geeft u op welke waarden u kunt invoeren bij het implementeren van de resources.In the parameters section of the template, you specify which values you can input when deploying the resources. U bent beperkt tot 256 para meters in een sjabloon.You're limited to 256 parameters in a template. U kunt het aantal para meters verminderen door objecten te gebruiken die meerdere eigenschappen bevatten.You can reduce the number of parameters by using objects that contain multiple properties.

De beschik bare eigenschappen voor een para meter zijn:The available properties for a parameter are:

"parameters": {
  "<parameter-name>" : {
    "type" : "<type-of-parameter-value>",
    "defaultValue": "<default-value-of-parameter>",
    "allowedValues": [ "<array-of-allowed-values>" ],
    "minValue": <minimum-value-for-int>,
    "maxValue": <maximum-value-for-int>,
    "minLength": <minimum-length-for-string-or-array>,
    "maxLength": <maximum-length-for-string-or-array-parameters>,
    "metadata": {
      "description": "<description-of-the parameter>"
    }
  }
}
ElementnaamElement name VereistRequired BeschrijvingDescription
para meter-naamparameter-name JaYes De naam van de para meter.Name of the parameter. Moet een geldige JavaScript-id.Must be a valid JavaScript identifier.
typetype JaYes Type parameter waarde.Type of the parameter value. De toegestane typen en waarden zijn String, securestring, int, BOOL, object, secureObjecten array.The allowed types and values are string, securestring, int, bool, object, secureObject, and array. Zie gegevens typen.See Data types.
defaultValuedefaultValue NeeNo De standaard waarde voor de para meter, als er geen waarde wordt gegeven voor de para meter.Default value for the parameter, if no value is provided for the parameter.
allowedValuesallowedValues NeeNo Matrix van toegestane waarden voor de para meter om ervoor te zorgen dat de juiste waarde wordt gegeven.Array of allowed values for the parameter to make sure that the right value is provided.
minValueminValue NeeNo De minimum waarde voor de para meters van het type int, deze waarde is inclusief.The minimum value for int type parameters, this value is inclusive.
maxValuemaxValue NeeNo De maximum waarde voor de para meters van het type int, deze waarde is inclusief.The maximum value for int type parameters, this value is inclusive.
minLengthminLength NeeNo De minimale lengte voor de para meters String, Secure string en array type is inclusief.The minimum length for string, secure string, and array type parameters, this value is inclusive.
LengtemaxLength NeeNo De maximale lengte van de para meters voor teken reeksen, beveiligde teken reeksen en matrix type is inclusief.The maximum length for string, secure string, and array type parameters, this value is inclusive.
descriptiondescription NeeNo Beschrijving van de para meter die wordt weer gegeven voor gebruikers via de portal.Description of the parameter that is displayed to users through the portal. Zie opmerkingen in sjablonenvoor meer informatie.For more information, see Comments in templates.

Zie para meters in azure Resource Manager Templatesvoor voor beelden van het gebruik van para meters.For examples of how to use parameters, see Parameters in Azure Resource Manager templates.

GegevenstypenData types

Voor gehele getallen die als inline-para meters worden door gegeven, kan het bereik van waarden worden beperkt door de SDK of het opdracht regel programma dat u voor implementatie gebruikt.For integers passed as inline parameters, the range of values may be limited by the SDK or command-line tool you use for deployment. Als u bijvoorbeeld Power shell gebruikt voor het implementeren van een sjabloon, kunnen integerwaarden variëren van-2147483648 tot 2147483647.For example, when using PowerShell to deploy a template, integer types can range from -2147483648 to 2147483647. Als u deze beperking wilt vermijden, geeft u grote waarden voor geheel getal op in een parameter bestand.To avoid this limitation, specify large integer values in a parameter file. De resource typen hebben hun eigen limieten voor eigenschappen van gehele getallen.Resource types apply their own limits for integer properties.

Wanneer u Boole-waarden en integerwaarden in uw sjabloon opgeeft, plaatst u de waarde niet tussen aanhalings tekens.When specifying boolean and integer values in your template, don't surround the value with quotation marks. Begin-en eind teken reeks waarden met dubbele aanhalings tekens.Start and end string values with double quotation marks.

Objecten beginnen met een accolade links en eindigen met een haakje sluiten.Objects start with a left brace and end with a right brace. Matrices beginnen met een haakje openen en eindigen met een haakje sluiten.Arrays start with a left bracket and end with a right bracket.

Beveiligde teken reeksen en beveiligde objecten kunnen niet worden gelezen na het implementeren van de resource.Secure strings and secure objects can't be read after resource deployment.

Zie notaties van het type para metervoor voor beelden van het opmaken van gegevens typen.For samples of formatting data types, see Parameter type formats.

VariabelenVariables

In de sectie variabelen kunt u waarden maken die in de hele sjabloon kunnen worden gebruikt.In the variables section, you construct values that can be used throughout your template. U hoeft geen variabelen te definiëren, maar ze vereenvoudigen uw sjabloon vaak door complexe expressies te reduceren.You don't need to define variables, but they often simplify your template by reducing complex expressions.

In het volgende voor beeld ziet u de beschik bare opties voor het definiëren van een variabele:The following example shows the available options for defining a variable:

"variables": {
  "<variable-name>": "<variable-value>",
  "<variable-name>": {
    <variable-complex-type-value>
  },
  "<variable-object-name>": {
    "copy": [
      {
        "name": "<name-of-array-property>",
        "count": <number-of-iterations>,
        "input": <object-or-value-to-repeat>
      }
    ]
  },
  "copy": [
    {
      "name": "<variable-array-name>",
      "count": <number-of-iterations>,
      "input": <object-or-value-to-repeat>
    }
  ]
}

Zie voor meer informatie over het gebruik van copy om verschillende waarden voor een variabele te maken de variabele iteratie.For information about using copy to create several values for a variable, see Variable iteration.

Zie variabelen in azure Resource Manager sjabloonvoor voor beelden van het gebruik van variabelen.For examples of how to use variables, see Variables in Azure Resource Manager template.

FunctionsFunctions

U kunt binnen uw sjabloon uw eigen functies maken.Within your template, you can create your own functions. Deze functies zijn beschikbaar voor gebruik in uw sjabloon.These functions are available for use in your template. Normaal gesp roken definieert u gecompliceerde expressies die u niet wilt herhalen in uw sjabloon.Typically, you define complicated expressions that you don't want to repeat throughout your template. U maakt de door de gebruiker gedefinieerde functies op basis van expressies en functies die in sjablonen worden ondersteund.You create the user-defined functions from expressions and functions that are supported in templates.

Bij het definiëren van een gebruikers functie gelden enkele beperkingen:When defining a user function, there are some restrictions:

  • De functie heeft geen toegang tot variabelen.The function can't access variables.
  • De functie kan alleen para meters gebruiken die in de functie zijn gedefinieerd.The function can only use parameters that are defined in the function. Wanneer u de functie para meters in een door de gebruiker gedefinieerde functie gebruikt, bent u beperkt tot de para meters voor die functie.When you use the parameters function within a user-defined function, you're restricted to the parameters for that function.
  • De functie kan geen andere door de gebruiker gedefinieerde functies aanroepen.The function can't call other user-defined functions.
  • De functie kan de functie Referenceniet gebruiken.The function can't use the reference function.
  • Para meters voor de functie kunnen geen standaard waarden hebben.Parameters for the function can't have default values.
"functions": [
  {
    "namespace": "<namespace-for-functions>",
    "members": {
      "<function-name>": {
        "parameters": [
          {
            "name": "<parameter-name>",
            "type": "<type-of-parameter-value>"
          }
        ],
        "output": {
          "type": "<type-of-output-value>",
          "value": "<function-return-value>"
        }
      }
    }
  }
],
ElementnaamElement name VereistRequired BeschrijvingDescription
naamruimtenamespace JaYes Naam ruimte voor de aangepaste functies.Namespace for the custom functions. Gebruik om naam conflicten te voor komen met sjabloon functies.Use to avoid naming conflicts with template functions.
functie naamfunction-name JaYes De naam van de aangepaste functie.Name of the custom function. Wanneer u de functie aanroept, moet u de naam van de functie combi neren met de naam ruimte.When calling the function, combine the function name with the namespace. Als u bijvoorbeeld een functie met de naam UniqueName in de naam ruimte Contoso wilt aanroepen, gebruikt u "[contoso.uniqueName()]".For example, to call a function named uniqueName in the namespace contoso, use "[contoso.uniqueName()]".
para meter-naamparameter-name NeeNo De naam van de para meter die moet worden gebruikt binnen de aangepaste functie.Name of the parameter to be used within the custom function.
para meter-waardeparameter-value NeeNo Type parameter waarde.Type of the parameter value. De toegestane typen en waarden zijn String, securestring, int, BOOL, object, secureObjecten array.The allowed types and values are string, securestring, int, bool, object, secureObject, and array.
uitvoer typeoutput-type JaYes Type van de uitvoerwaarde.Type of the output value. Uitvoer waarden ondersteunen dezelfde typen als de invoer parameters van de functie.Output values support the same types as function input parameters.
uitvoer waardeoutput-value JaYes De taal expressie voor de sjabloon die wordt geëvalueerd en geretourneerd door de functie.Template language expression that is evaluated and returned from the function.

Zie door de gebruiker gedefinieerde functies in azure Resource Manager sjabloonvoor voor beelden van het gebruik van aangepaste functies.For examples of how to use custom functions, see User-defined functions in Azure Resource Manager template.

BronnenResources

In de sectie Resources definieert u de resources die worden geïmplementeerd of bijgewerkt.In the resources section, you define the resources that are deployed or updated.

U definieert resources met de volgende structuur:You define resources with the following structure:

"resources": [
  {
      "condition": "<true-to-deploy-this-resource>",
      "apiVersion": "<api-version-of-resource>",
      "type": "<resource-provider-namespace/resource-type-name>",
      "name": "<name-of-the-resource>",
      "location": "<location-of-resource>",
      "tags": {
          "<tag-name1>": "<tag-value1>",
          "<tag-name2>": "<tag-value2>"
      },
      "comments": "<your-reference-notes>",
      "copy": {
          "name": "<name-of-copy-loop>",
          "count": <number-of-iterations>,
          "mode": "<serial-or-parallel>",
          "batchSize": <number-to-deploy-serially>
      },
      "dependsOn": [
          "<array-of-related-resource-names>"
      ],
      "properties": {
          "<settings-for-the-resource>",
          "copy": [
              {
                  "name": ,
                  "count": ,
                  "input": {}
              }
          ]
      },
      "sku": {
          "name": "<sku-name>",
          "tier": "<sku-tier>",
          "size": "<sku-size>",
          "family": "<sku-family>",
          "capacity": <sku-capacity>
      },
      "kind": "<type-of-resource>",
      "plan": {
          "name": "<plan-name>",
          "promotionCode": "<plan-promotion-code>",
          "publisher": "<plan-publisher>",
          "product": "<plan-product>",
          "version": "<plan-version>"
      },
      "resources": [
          "<array-of-child-resources>"
      ]
  }
]
ElementnaamElement name VereistRequired BeschrijvingDescription
conditioncondition NeeNo Een Booleaanse waarde die aangeeft of de resource wordt ingericht tijdens deze implementatie.Boolean value that indicates whether the resource will be provisioned during this deployment. Als true, wordt de resource tijdens de implementatie gemaakt.When true, the resource is created during deployment. Als false, wordt de resource overgeslagen voor deze implementatie.When false, the resource is skipped for this deployment. Zie voor waarde.See condition.
apiVersionapiVersion JaYes De versie van de REST API die moet worden gebruikt voor het maken van de resource.Version of the REST API to use for creating the resource. Zie Naslag informatie over sjablonenom beschik bare waarden te bepalen.To determine available values, see template reference.
typetype JaYes Het type van de resource.Type of the resource. Deze waarde is een combi natie van de naam ruimte van de resource provider en het resource type (zoals micro soft. Storage/Storage accounts).This value is a combination of the namespace of the resource provider and the resource type (such as Microsoft.Storage/storageAccounts). Zie Naslag informatie over sjablonenom beschik bare waarden te bepalen.To determine available values, see template reference. Voor een onderliggende resource is de notatie van het type afhankelijk van of het is genest binnen de bovenliggende resource of buiten de bovenliggende resource is gedefinieerd.For a child resource, the format of the type depends on whether it's nested within the parent resource or defined outside of the parent resource. Zie naam en type voor onderliggende resources instellen.See Set name and type for child resources.
namename JaYes De naam van de resource.Name of the resource. De naam moet volgen op de URI-onderdeel beperkingen die zijn gedefinieerd in RFC3986.The name must follow URI component restrictions defined in RFC3986. Azure-Services die de resource naam beschikbaar maken voor externe partijen, valideren de naam om ervoor te zorgen dat het geen poging is om een andere identiteit te vervalsen.Azure services that expose the resource name to outside parties validate the name to make sure it isn't an attempt to spoof another identity. Voor een onderliggende resource is de notatie van de naam afhankelijk van of deze is genest binnen de bovenliggende resource of buiten de bovenliggende resource is gedefinieerd.For a child resource, the format of the name depends on whether it's nested within the parent resource or defined outside of the parent resource. Zie naam en type voor onderliggende resources instellen.See Set name and type for child resources.
locatielocation VarieertVaries Ondersteunde geo-locaties van de gegeven bron.Supported geo-locations of the provided resource. U kunt een van de beschik bare locaties selecteren, maar normaal gesp roken is het een goed idee om er een te kiezen die zich dicht bij uw gebruikers bevindt.You can select any of the available locations, but typically it makes sense to pick one that is close to your users. Doorgaans is het zinvol om resources te plaatsen die met elkaar in dezelfde regio communiceren.Usually, it also makes sense to place resources that interact with each other in the same region. Voor de meeste resource typen is een locatie vereist, maar sommige typen (zoals een roltoewijzing) vereisen geen locatie.Most resource types require a location, but some types (such as a role assignment) don't require a location. Zie resource locatie instellen.See Set resource location.
tagstags NeeNo Tags die zijn gekoppeld aan de resource.Tags that are associated with the resource. Pas Tags toe om de resources in uw abonnement logisch te organiseren.Apply tags to logically organize resources across your subscription.
aantekeningencomments NeeNo Uw notities voor het documenteren van de resources in uw sjabloon.Your notes for documenting the resources in your template. Zie opmerkingen in sjablonenvoor meer informatie.For more information, see Comments in templates.
Kopieercopy NeeNo Als er meer dan één exemplaar nodig is, wordt het aantal resources dat moet worden gemaakt.If more than one instance is needed, the number of resources to create. De standaard modus is parallel.The default mode is parallel. Geef de seriële modus op als u niet wilt dat alle of de resources op hetzelfde moment worden geïmplementeerd.Specify serial mode when you don't want all or the resources to deploy at the same time. Zie meerdere exemplaren van resources maken in azure Resource Managervoor meer informatie.For more information, see Create several instances of resources in Azure Resource Manager.
dependsOndependsOn NeeNo Resources die moeten worden geïmplementeerd voordat deze resource wordt geïmplementeerd.Resources that must be deployed before this resource is deployed. Resource Manager evalueert de afhankelijkheden tussen resources en implementeert deze in de juiste volg orde.Resource Manager evaluates the dependencies between resources and deploys them in the correct order. Wanneer resources niet afhankelijk zijn van elkaar, worden ze parallel geïmplementeerd.When resources aren't dependent on each other, they're deployed in parallel. De waarde kan een door komma's gescheiden lijst zijn van een resource naam of unieke id van een resource.The value can be a comma-separated list of a resource names or resource unique identifiers. Alleen een lijst met resources die in deze sjabloon zijn geïmplementeerd.Only list resources that are deployed in this template. Resources die niet in deze sjabloon zijn gedefinieerd, moeten al bestaan.Resources that aren't defined in this template must already exist. Vermijd overbodige afhankelijkheden omdat deze uw implementatie kunnen vertragen en circulaire afhankelijkheden kan maken.Avoid adding unnecessary dependencies as they can slow your deployment and create circular dependencies. Zie afhankelijkheden definiëren in azure Resource Manager sjablonenvoor hulp bij het instellen van afhankelijkheden.For guidance on setting dependencies, see Defining dependencies in Azure Resource Manager templates.
propertiesproperties NeeNo Resource-specifieke configuratie-instellingen.Resource-specific configuration settings. De waarden voor de eigenschappen zijn gelijk aan de waarden die u opgeeft in de hoofd tekst van de aanvraag voor de REST API bewerking (PUT-methode) om de resource te maken.The values for the properties are the same as the values you provide in the request body for the REST API operation (PUT method) to create the resource. U kunt ook een Kopieer matrix opgeven om meerdere exemplaren van een eigenschap te maken.You can also specify a copy array to create several instances of a property. Zie Naslag informatie over sjablonenom beschik bare waarden te bepalen.To determine available values, see template reference.
skusku NeeNo Sommige resources staan waarden toe die de te implementeren SKU definiëren.Some resources allow values that define the SKU to deploy. U kunt bijvoorbeeld het type redundantie voor een opslag account opgeven.For example, you can specify the type of redundancy for a storage account.
typekind NeeNo Bij sommige resources is een waarde toegestaan die het type resource definieert dat u implementeert.Some resources allow a value that defines the type of resource you deploy. U kunt bijvoorbeeld het type Cosmos DB opgeven dat u wilt maken.For example, you can specify the type of Cosmos DB to create.
Fondsplan NeeNo In sommige resources zijn waarden toegestaan waarmee het plan wordt gedefinieerd dat moet worden geïmplementeerd.Some resources allow values that define the plan to deploy. U kunt bijvoorbeeld de Marketplace-installatie kopie voor een virtuele machine opgeven.For example, you can specify the marketplace image for a virtual machine.
resourcesresources NeeNo Onderliggende bronnen die afhankelijk zijn van de resource die wordt gedefinieerd.Child resources that depend on the resource being defined. Alleen resource typen opgeven die zijn toegestaan voor het schema van de bovenliggende resource.Only provide resource types that are permitted by the schema of the parent resource. De afhankelijkheid van de bovenliggende resource is niet geïmpliceerd.Dependency on the parent resource isn't implied. Deze afhankelijkheid moet expliciet worden gedefinieerd.You must explicitly define that dependency. Zie naam en type voor onderliggende resources instellen.See Set name and type for child resources.

UitvoerOutputs

In de sectie uitvoer geeft u waarden die zijn geretourneerd na de implementatie.In the Outputs section, you specify values that are returned from deployment. Normaal gesp roken retourneert u waarden van resources die zijn geïmplementeerd.Typically, you return values from resources that were deployed.

Het volgende voorbeeld ziet u de structuur van de uitvoerdefinitie van een:The following example shows the structure of an output definition:

"outputs": {
  "<output-name>" : {
    "condition": "<boolean-value-whether-to-output-value>",
    "type" : "<type-of-output-value>",
    "value": "<output-value-expression>"
  }
}
ElementnaamElement name VereistRequired BeschrijvingDescription
uitvoer naamoutput-name JaYes De naam van de uitvoerwaarde.Name of the output value. Moet een geldige JavaScript-id.Must be a valid JavaScript identifier.
conditioncondition NeeNo Booleaanse waarde die aangeeft of deze uitvoer waarde wordt geretourneerd.Boolean value that indicates whether this output value is returned. Als true, wordt de waarde opgenomen in de uitvoer voor de implementatie.When true, the value is included in the output for the deployment. Als false, wordt de uitvoer waarde overgeslagen voor deze implementatie.When false, the output value is skipped for this deployment. Wanneer deze niet is opgegeven, wordt de standaard waarde true.When not specified, the default value is true.
typetype JaYes Type van de uitvoerwaarde.Type of the output value. Uitvoerwaarden ondersteuning van de dezelfde typen als sjabloon invoerparameters die zijn opgegeven.Output values support the same types as template input parameters. Als u securestring opgeeft voor het uitvoer type, wordt de waarde niet weer gegeven in de implementatie geschiedenis en kan deze niet worden opgehaald uit een andere sjabloon.If you specify securestring for the output type, the value isn't displayed in the deployment history and can't be retrieved from another template. Als u een geheime waarde in meer dan één sjabloon wilt gebruiken, slaat u het geheim op in een Key Vault en verwijst u naar het geheim in het parameter bestand.To use a secret value in more than one template, store the secret in a Key Vault and reference the secret in the parameter file. Zie Azure Key Vault gebruiken om de waarde van een beveiligde para meter door te geven tijdens de implementatievoor meer informatie.For more information, see Use Azure Key Vault to pass secure parameter value during deployment.
waardevalue JaYes De sjabloontaalexpressie dat wordt geëvalueerd en geretourneerd als de uitvoerwaarde.Template language expression that is evaluated and returned as output value.

Zie uitvoer in azure Resource Manager sjabloonvoor voor beelden van het gebruik van uitvoer.For examples of how to use outputs, see Outputs in Azure Resource Manager template.

Opmerkingen en meta gegevensComments and metadata

U hebt een aantal opties voor het toevoegen van opmerkingen en meta gegevens aan uw sjabloon.You have a few options for adding comments and metadata to your template.

OpmerkingenComments

Voor inline opmerkingen kunt u // of /* ... */ gebruiken, maar deze syntaxis werkt niet voor alle hulpprogram ma's.For inline comments, you can use either // or /* ... */ but this syntax doesn't work with all tools. U kunt de Portal sjabloon editor niet gebruiken voor het werken met sjablonen met inline opmerkingen.You can't use the portal template editor to work on templates with inline comments. Als u deze stijl van een opmerking toevoegt, moet u ervoor zorgen dat de hulpprogram ma's die u gebruikt ondersteuning bieden voor inline JSON-opmerkingen.If you add this style of comment, be sure the tools you use support inline JSON comments.

Notitie

Als u sjablonen met opmerkingen wilt implementeren met behulp van Azure CLI, moet u de --handle-extended-json-format schakelaar gebruiken.To deploy templates with comments by using Azure CLI, you must use the --handle-extended-json-format switch.

{
  "type": "Microsoft.Compute/virtualMachines",
  "name": "[variables('vmName')]", // to customize name, change it in variables
  "location": "[parameters('location')]", //defaults to resource group location
  "apiVersion": "2018-10-01",
  "dependsOn": [ /* storage account and network interface must be deployed first */
    "[resourceId('Microsoft.Storage/storageAccounts/', variables('storageAccountName'))]",
    "[resourceId('Microsoft.Network/networkInterfaces/', variables('nicName'))]"
  ],

In Visual Studio code kan de uitbrei ding van de Azure Resource Manager-Hulpprogram ma's automatisch een resource manager-sjabloon detecteren en de taal modus dienovereenkomstig wijzigen.In Visual Studio Code, the Azure Resource Manager Tools extension can automatically detect Resource Manager template and change the language mode accordingly. Als u Azure Resource Manager sjabloon in de rechter BENEDENHOEK van VS code ziet, kunt u de inline opmerkingen gebruiken.If you see Azure Resource Manager Template at the bottom right corner of VS Code, you can use the inline comments. De inline opmerkingen worden niet meer als ongeldig gemarkeerd.The inline comments are no longer marked as invalid.

Visual Studio code Azure Resource Manager-sjabloon modus

MetagegevensMetadata

U kunt vrijwel overal in uw sjabloon een metadata-object toevoegen.You can add a metadata object almost anywhere in your template. De Resource Manager negeert het object, maar uw JSON-editor kan u waarschuwen dat de eigenschap niet geldig is.Resource Manager ignores the object, but your JSON editor may warn you that the property isn't valid. In het object definieert u de eigenschappen die u nodig hebt.In the object, define the properties you need.

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "metadata": {
    "comments": "This template was developed for demonstration purposes.",
    "author": "Example Name"
  },

Voeg voor- para meterseen metadata-object toe met een description eigenschap.For parameters, add a metadata object with a description property.

"parameters": {
  "adminUsername": {
    "type": "string",
    "metadata": {
      "description": "User name for the Virtual Machine."
    }
  },

Wanneer u de sjabloon via de portal implementeert, wordt de tekst die u in de beschrijving opgeeft automatisch gebruikt als tip voor die para meter.When deploying the template through the portal, the text you provide in the description is automatically used as a tip for that parameter.

Parameter tip weer geven

Voeg voor resourceseen comments-element of een meta gegevens object toe.For resources, add a comments element or a metadata object. In het volgende voor beeld ziet u een comments-element en een meta gegevens object.The following example shows both a comments element and a metadata object.

"resources": [
  {
    "comments": "Storage account used to store VM disks",
    "apiVersion": "2018-07-01",
    "type": "Microsoft.Storage/storageAccounts",
    "name": "[concat('storage', uniqueString(resourceGroup().id))]",
    "location": "[parameters('location')]",
    "metadata": {
      "comments": "These tags are needed for policy compliance."
    },
    "tags": {
      "Dept": "[parameters('deptName')]",
      "Environment": "[parameters('environment')]"
    },
    "sku": {
      "name": "Standard_LRS"
    },
    "kind": "Storage",
    "properties": {}
  }
]

Voeg voor uitvoereen meta gegevens object toe aan de uitvoer waarde.For outputs, add a metadata object to the output value.

"outputs": {
  "hostname": {
    "type": "string",
    "value": "[reference(variables('publicIPAddressName')).dnsSettings.fqdn]",
    "metadata": {
      "comments": "Return the fully qualified domain name"
    }
  },

U kunt geen meta gegevens object toevoegen aan door de gebruiker gedefinieerde functies.You can't add a metadata object to user-defined functions.

Reeksen met meerdere regelsMulti-line strings

U kunt een teken reeks opsplitsen in meerdere regels.You can break a string into multiple lines. Bijvoorbeeld de eigenschap Location en een van de opmerkingen in het volgende JSON-voor beeld.For example the location property and one of the comments in the following JSON example.

{
  "type": "Microsoft.Compute/virtualMachines",
  "name": "[variables('vmName')]", // to customize name, change it in variables
  "location": "[
    parameters('location')
    ]", //defaults to resource group location
  "apiVersion": "2018-10-01",
  /*
    storage account and network interface
    must be deployed first
  */
  "dependsOn": [
    "[resourceId('Microsoft.Storage/storageAccounts/', variables('storageAccountName'))]",
    "[resourceId('Microsoft.Network/networkInterfaces/', variables('nicName'))]"
  ],

Als u sjablonen met meerdere regels wilt implementeren met behulp van Azure CLI, moet u de --handle-extended-json-format schakelaar gebruiken.To deploy templates with multi-line strings by using Azure CLI, you must use the --handle-extended-json-format switch.

Volgende stappenNext steps