Informatie over de structuur en de syntaxis van ARM-sjablonenUnderstand the structure and syntax of ARM templates

In dit artikel wordt de structuur van een Azure Resource Manager sjabloon (ARM-sjabloon) beschreven.This article describes the structure of an Azure Resource Manager template (ARM 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 met een zekere kennis van ARM-sjablonen.This article is intended for users who have some familiarity with ARM 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 arm-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 ARM template. Raadpleeg Resources implementeren en beheren in Azure met behulp van ARM-sjablonen voor meer informatie over ARM-sjablonen via een begeleide set modules.To learn about ARM templates through a guided set of modules on Microsoft Learn, see Deploy and manage resources in Azure by using ARM templates.

SjabloonindelingTemplate 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/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "",
  "apiProfile": "",
  "parameters": {  },
  "variables": {  },
  "functions": [  ],
  "resources": [  ],
  "outputs": {  }
}
ElementnaamElement name VereistRequired BeschrijvingDescription
$schema$schema YesYes Locatie van het schema bestand van de JavaScript Object Notation (JSON) waarin de versie van de sjabloon taal wordt beschreven.Location of the JavaScript Object Notation (JSON) schema file that describes the version of the template language. Het versienummer dat u gebruikt, is afhankelijk van het bereik van de implementatie en uw JSON-editor.The version number you use depends on the scope of the deployment and your JSON editor.

Als u Visual Studio code gebruikt met de uitbrei ding Azure Resource Manager tools, gebruikt u de meest recente versie voor implementaties van resource groepen:If you're using Visual Studio Code with the Azure Resource Manager tools extension, use the latest version for resource group deployments:
https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#

Andere editors (waaronder Visual Studio) kunnen dit schema mogelijk niet verwerken.Other editors (including Visual Studio) may not be able to process this schema. Voor die editors gebruikt u:For those editors, use:
https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#

Gebruik voor implementaties van abonnementen:For subscription deployments, use:
https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentTemplate.json#

Voor implementaties van beheer groepen gebruikt u:For management group deployments, use:
https://schema.management.azure.com/schemas/2019-08-01/managementGroupDeploymentTemplate.json#

Gebruik voor Tenant implementaties:For tenant deployments, use:
https://schema.management.azure.com/schemas/2019-08-01/tenantDeploymentTemplate.json#
contentVersioncontentVersion YesYes De versie van de sjabloon (bijvoorbeeld 1.0.0.0).Version of the template (such as 1.0.0.0). U kunt een willekeurige waarde voor dit element opgeven.You can provide any value for this element. Gebruik deze waarde als u belangrijke wijzigingen in uw sjabloon wilt documenteren.Use this value to document significant changes in your template. Wanneer u resources implementeert met 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 NoNo 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.
instellenparameters NoNo 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 NoNo 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 NoNo Door de gebruiker gedefinieerde functies die beschikbaar zijn in de sjabloon.User-defined functions that are available within the template.
resourcesresources YesYes 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 NoNo 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 de parameters sectie 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 kunt maximaal 256 parameters opgeven 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 eigenschappen die beschikbaar zijn voor een parameter 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 YesYes De naam van de para meter.Name of the parameter. Moet een geldige java script-id zijn.Must be a valid JavaScript identifier.
typetype YesYes Type parameter waarde.Type of the parameter value. De toegestane typen en waarden zijn String, securestring, int, BOOL, object, secureObject en array.The allowed types and values are string, securestring, int, bool, object, secureObject, and array. Zie gegevens typen in arm-sjablonen.See Data types in ARM templates.
StandaarddefaultValue NoNo 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 NoNo 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 NoNo 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 NoNo 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 NoNo 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 NoNo 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.
beschrijvingdescription NoNo 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 arm-sjablonenvoor voor beelden van het gebruik van para meters.For examples of how to use parameters, see Parameters in ARM templates.

VariabelenVariables

In de variables sectie bouwt u waarden 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. De indeling van elke variabele komt overeen met een van de gegevens typen.The format of each variable matches one of the data types.

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 copy van 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 arm-sjabloonvoor voor beelden van het gebruik van variabelen.For examples of how to use variables, see Variables in ARM 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 YesYes 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 YesYes 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 wilt aanroepen met uniqueName de naam in de naam ruimte contoso, gebruikt u "[contoso.uniqueName()]" .For example, to call a function named uniqueName in the namespace contoso, use "[contoso.uniqueName()]".
para meter-naamparameter-name NoNo 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 NoNo Type parameter waarde.Type of the parameter value. De toegestane typen en waarden zijn String, securestring, int, BOOL, object, secureObject en array.The allowed types and values are string, securestring, int, bool, object, secureObject, and array.
uitvoer typeoutput-type YesYes Het type van de uitvoer waarde.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 YesYes 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 arm-sjabloonvoor voor beelden van het gebruik van aangepaste functies.For examples of how to use custom functions, see User-defined functions in ARM template.

ResourcesResources

In de resources sectie 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>",
      "type": "<resource-provider-namespace/resource-type-name>",
      "apiVersion": "<api-version-of-resource>",
      "name": "<name-of-the-resource>",
      "comments": "<your-reference-notes>",
      "location": "<location-of-resource>",
      "dependsOn": [
          "<array-of-related-resource-names>"
      ],
      "tags": {
          "<tag-name1>": "<tag-value1>",
          "<tag-name2>": "<tag-value2>"
      },
      "sku": {
          "name": "<sku-name>",
          "tier": "<sku-tier>",
          "size": "<sku-size>",
          "family": "<sku-family>",
          "capacity": <sku-capacity>
      },
      "kind": "<type-of-resource>",
      "scope": "<target-scope-for-extension-resources>",
      "copy": {
          "name": "<name-of-copy-loop>",
          "count": <number-of-iterations>,
          "mode": "<serial-or-parallel>",
          "batchSize": <number-to-deploy-serially>
      },
      "plan": {
          "name": "<plan-name>",
          "promotionCode": "<plan-promotion-code>",
          "publisher": "<plan-publisher>",
          "product": "<plan-product>",
          "version": "<plan-version>"
      },
      "properties": {
          "<settings-for-the-resource>",
          "copy": [
              {
                  "name": ,
                  "count": ,
                  "input": {}
              }
          ]
      },
      "resources": [
          "<array-of-child-resources>"
      ]
  }
]
ElementnaamElement name VereistRequired BeschrijvingDescription
regelingcondition NoNo 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. Wanneer true wordt de bron gemaakt tijdens de implementatie.When true, the resource is created during deployment. Wanneer false wordt de resource overgeslagen voor deze implementatie.When false, the resource is skipped for this deployment. Zie voor waarde.See condition.
typetype YesYes 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 bron type (zoals Microsoft.Storage/storageAccounts ).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 Setnaam en -type voor onderliggende resources.See Set name and type for child resources.
apiVersionapiVersion YesYes 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. Wanneer u een nieuwe sjabloon maakt, stelt u deze waarde in op de meest recente versie van de resource die u implementeert.When creating a new template, set this value to the latest version of the resource you're deploying. Zolang de sjabloon zo nodig werkt, blijft dezelfde API-versie gebruiken.As long as the template works as needed, keep using the same API version. Door door te gaan met het gebruik van dezelfde API-versie, minimaliseert u het risico van een nieuwe API-versie waardoor de werking van uw sjabloon wordt gewijzigd.By continuing to use the same API version, you minimize the risk of a new API version changing how your template works. Overweeg de API-versie alleen bij te werken als u een nieuwe functie wilt gebruiken die wordt geïntroduceerd in een latere versie.Consider updating the API version only when you want to use a new feature that is introduced in a later version. Zie Naslag informatie over sjablonenom beschik bare waarden te bepalen.To determine available values, see template reference.
naamname YesYes 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 Setnaam en -type voor onderliggende resources.See Set name and type for child resources.
aantekeningencomments NoNo 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.
locationlocation 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.
dependsOndependsOn NoNo 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 de volg orde voor het implementeren van resources in arm-sjablonen definiërenvoor hulp bij het instellen van afhankelijkheden.For guidance on setting dependencies, see Define the order for deploying resources in ARM templates.
tagstags NoNo 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.
skusku NoNo 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 NoNo 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.
scopescope NoNo De eigenschap scope is alleen beschikbaar voor uitbreidings bron typen.The scope property is only available for extension resource types. Gebruik deze methode wanneer u een bereik opgeeft dat verschilt van het implementatie bereik.Use it when specifying a scope that is different than the deployment scope. Zie bereik instellen voor uitbreidings resources in arm-sjablonen.See Setting scope for extension resources in ARM templates.
kopiërencopy NoNo 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.
plannenplan NoNo 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.
propertiesproperties NoNo 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.
resourcesresources NoNo 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 Setnaam en -type voor onderliggende resources.See Set name and type for child resources.

UitvoerwaardenOutputs

In de outputs sectie geeft u de waarden op die worden geretourneerd door 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.

In het volgende voor beeld ziet u de structuur van een uitvoer definitie: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>",
    "copy": {
      "count": <number-of-iterations>,
      "input": <values-for-the-variable>
    }
  }
}
ElementnaamElement name VereistRequired BeschrijvingDescription
uitvoer naamoutput-name YesYes De naam van de uitvoer waarde.Name of the output value. Moet een geldige java script-id zijn.Must be a valid JavaScript identifier.
regelingcondition NoNo Booleaanse waarde die aangeeft of deze uitvoer waarde wordt geretourneerd.Boolean value that indicates whether this output value is returned. Wanneer true is de waarde opgenomen in de uitvoer voor de implementatie.When true, the value is included in the output for the deployment. Wanneer false wordt de uitvoer waarde overgeslagen voor deze implementatie.When false, the output value is skipped for this deployment. Wanneer deze niet is opgegeven, is de standaard waarde true .When not specified, the default value is true.
typetype YesYes Het type van de uitvoer waarde.Type of the output value. Uitvoer waarden ondersteunen dezelfde typen als de invoer parameters van de sjabloon.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 NoNo Expressie voor de taal van de sjabloon die als uitvoer waarde wordt geëvalueerd en geretourneerd.Template language expression that is evaluated and returned as output value. Geef een waarde of een kopie op.Specify either value or copy.
kopiërencopy NoNo Wordt gebruikt om meer dan één waarde voor een uitvoer te retour neren.Used to return more than one value for an output. Waarde opgeven of kopiëren.Specify value or copy. Zie uitvoer iteratie in arm-sjablonenvoor meer informatie.For more information, see Output iteration in ARM templates.

Zie outputs in arm-sjabloonvoor voor beelden van het gebruik van uitvoer.For examples of how to use outputs, see Outputs in ARM 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. 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 met versie 2.3.0 of ouder, moet u de --handle-extended-json-format Schakel optie gebruiken.To deploy templates with comments by using Azure CLI with version 2.3.0 or older, you must use the --handle-extended-json-format switch.

{
  "type": "Microsoft.Compute/virtualMachines",
  "apiVersion": "2018-10-01",
  "name": "[variables('vmName')]", // to customize name, change it in variables
  "location": "[parameters('location')]", //defaults to resource group location
  "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 arm-sjabloon detecteren en de taal modus wijzigen.In Visual Studio Code, the Azure Resource Manager Tools extension can automatically detect an ARM template and change the language mode. Als Azure Resource Manager sjabloon in de rechter benedenhoek van Visual Studio code wordt weer gegeven, kunt u de inline opmerkingen gebruiken.If you see Azure Resource Manager Template at the bottom-right corner of Visual Studio 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 een metadata object bijna overal in uw sjabloon 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/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "metadata": {
    "comments": "This template was developed for demonstration purposes.",
    "author": "Example Name"
  },

parametersVoeg voor een 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

resourcesVoeg voor een comments element of een object toe metadata .For resources, add a comments element or a metadata object. In het volgende voor beeld worden zowel een comments element als een object weer gegeven metadata .The following example shows both a comments element and a metadata object.

"resources": [
  {
    "type": "Microsoft.Storage/storageAccounts",
    "apiVersion": "2018-07-01",
    "name": "[concat('storage', uniqueString(resourceGroup().id))]",
    "comments": "Storage account used to store VM disks",
    "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": {}
  }
]

outputsVoeg voor een metadata 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 object toevoegen aan door de metadata 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. Zie bijvoorbeeld de location eigenschap en een van de opmerkingen in het volgende JSON-voor beeld.For example, see the location property and one of the comments in the following JSON example.

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

Notitie

Als u sjablonen met meerdere regel reeksen wilt implementeren met behulp van Azure CLI met versie 2.3.0 of ouder, moet u de --handle-extended-json-format Schakel optie gebruiken.To deploy templates with multi-line strings by using Azure CLI with version 2.3.0 or older, you must use the --handle-extended-json-format switch.

Volgende stappenNext steps