Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Azure Resource Manager biedt de volgende functies voor het ophalen van waarden met betrekking tot de huidige implementatie van uw Azure Resource Manager-sjabloon (ARM-sjabloon):
Als u waarden wilt ophalen uit resources, resourcegroepen of abonnementen, raadpleegt u resourcefuncties.
Tip
              Bicep wordt aanbevolen omdat het dezelfde mogelijkheden biedt als ARM-sjablonen en de syntaxis gemakkelijker te gebruiken is. Zie deployment functies voor meer informatie.
deployer
deployer()
Retourneert de informatie over de huidige implementatie-principal.
Gebruik in Bicep de deployer functie.
Retourwaarde
Deze functie retourneert de informatie over de huidige implementatie-principal, inclusief tenant-id, object-id en user principal name:
{
  "objectId": "",
  "tenantId": "",
  "userPrincipalName": ""
}
Example
In het volgende voorbeeld wordt het implementatieobject geretourneerd:
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [],
  "outputs": {
    "developerOutput": {
      "type": "object",
      "value": "[deployer()]"
    }
  }
}
In het voorgaande voorbeeld wordt het volgende object geretourneerd:
{
  "objectId":"aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
  "tenantId":"aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
  "userPrincipalName":"john.doe@contoso.com"
}
deployment
deployment()
Retourneert informatie over de huidige implementatiebewerking.
Gebruik in Bicep de deployment functie.
Retourwaarde
Met deze functie wordt het object geretourneerd dat tijdens de implementatie wordt doorgegeven. De eigenschappen in het geretourneerde object verschillen op basis van het volgende:
- Een sjabloon of sjabloonspecificatie implementeren.
 - Een sjabloon implementeren die een lokaal bestand is of een sjabloon implementeren die toegankelijk is via een URI.
 - Implementeren in een resourcegroep of implementeren in een van de andere bereiken (Azure-abonnement, beheergroepen of tenants).
 
Bij het implementeren van een lokale sjabloon in een resourcegroep retourneert de functie de volgende indeling:
{
  "name": "",
  "properties": {
    "template": {
      "$schema": "",
      "contentVersion": "",
      "parameters": {},
      "variables": {},
      "resources": [],
      "outputs": {}
    },
    "templateHash": "",
    "parameters": {},
    "mode": "",
    "provisioningState": ""
  }
}
Als de sjabloon extern is, wordt de templateLink eigenschap opgenomen in het geretourneerde object. De templateLink eigenschap bevat de URI van de sjabloon. De indeling is:
{
  "name": "",
  "properties": {
    "templateLink": {
      "uri": ""
    },
    "template": {
      "$schema": "",
      "contentVersion": "",
      "parameters": {},
      "variables": {},
      "resources": [],
      "outputs": {}
    },
    "templateHash": "",
    "parameters": {},
    "mode": "",
    "provisioningState": ""
  }
}
Zie Variabelen gebruiken om sjablonen te koppelen voor meer informatie.
Wanneer u een sjabloonspecificatie implementeert in een resourcegroep, retourneert de functie de volgende indeling:
{
  "name": "",
  "properties": {
    "templateLink": {
      "id": ""
    },
    "template": {
      "$schema": "",
      "contentVersion": "",
      "parameters": {},
      "variables": {},
      "resources": [],
      "outputs": {}
    },
    "templateHash": "",
    "parameters": {},
    "mode": "",
    "provisioningState": ""
  }
}
Wanneer u implementeert in een Azure-abonnement, beheergroep of tenant, bevat het retourobject een location eigenschap. De locatie-eigenschap wordt opgenomen bij het implementeren van een lokale sjabloon of een externe sjabloon. De indeling is:
{
  "name": "",
  "location": "",
  "properties": {
    "template": {
      "$schema": "",
      "contentVersion": "",
      "resources": [],
      "outputs": {}
    },
    "templateHash": "",
    "parameters": {},
    "mode": "",
    "provisioningState": ""
  }
}
Bij het implementeren van een languageVersion 2.0-sjabloon retourneert de deployment functie een beperkte subset eigenschappen:
{
  "name": "",
  "location": "",
  "properties": {
    "template": {
      "contentVersion": ""
    },
    "templateLink": {
      "id": "",
      "uri": ""
    }
  }
}
Remarks
U kunt deployment() een koppeling maken naar een andere sjabloon op basis van de URI van de bovenliggende sjabloon:
"variables": {
  "sharedTemplateUrl": "[uri(deployment().properties.templateLink.uri, 'shared-resources.json')]"
}
Als u een sjabloon opnieuw implementeert vanuit de implementatiegeschiedenis in de portal, wordt de sjabloon geïmplementeerd als een lokaal bestand. De templateLink eigenschap wordt niet geretourneerd in de implementatiefunctie. Als uw sjabloon afhankelijk is van templateLink het maken van een koppeling naar een andere sjabloon, gebruikt u de portal niet om opnieuw te implementeren. Gebruik in plaats daarvan de opdrachten die u hebt gebruikt om de sjabloon oorspronkelijk te implementeren.
Example
In het volgende voorbeeld wordt een implementatieobject geretourneerd:
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [],
  "outputs": {
    "deploymentOutput": {
      "type": "object",
      "value": "[deployment()]"
    }
  }
}
In het voorgaande voorbeeld wordt het volgende object geretourneerd:
{
  "name": "deployment",
  "properties": {
    "template": {
      "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
      "contentVersion": "1.0.0.0",
      "resources": [],
      "outputs": {
        "deploymentOutput": {
          "type": "Object",
          "value": "[deployment()]"
        }
      }
    },
    "templateHash": "13135986259522608210",
    "parameters": {},
    "mode": "Incremental",
    "provisioningState": "Accepted"
  }
}
Voor een abonnementsimplementatie retourneert het volgende voorbeeld een implementatieobject:
{
  "$schema": "https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {},
  "variables": {},
  "resources": [],
  "outputs": {
    "exampleOutput": {
      "type": "object",
      "value": "[deployment()]"
    }
  }
}
environment
environment()
Retourneert informatie over de Azure-omgeving die wordt gebruikt voor implementatie. De environment() functie is niet op de hoogte van resourceconfiguraties. Er kan slechts één standaard DNS-achtervoegsel worden geretourneerd voor elk resourcetype.
Gebruik in Bicep de environment functie.
Remarks
Als u een lijst met geregistreerde omgevingen voor uw account wilt zien, gebruikt az cloud list u of Get-AzEnvironment.
Retourwaarde
Deze functie retourneert eigenschappen voor de huidige Azure-omgeving. In het volgende voorbeeld ziet u de eigenschappen voor globale Azure. onafhankelijke clouds kunnen enigszins verschillende eigenschappen retourneren:
{
  "name": "",
  "gallery": "",
  "graph": "",
  "portal": "",
  "graphAudience": "",
  "activeDirectoryDataLake": "",
  "batch": "",
  "media": "",
  "sqlManagement": "",
  "vmImageAliasDoc": "",
  "resourceManager": "",
  "authentication": {
    "loginEndpoint": "",
    "audiences": [
      "",
      ""
    ],
    "tenant": "",
    "identityProvider": ""
  },
  "suffixes": {
    "acrLoginServer": "",
    "azureDatalakeAnalyticsCatalogAndJob": "",
    "azureDatalakeStoreFileSystem": "",
    "azureFrontDoorEndpointSuffix": "",
    "keyvaultDns": "",
    "sqlServerHostname": "",
    "storage": ""
  }
}
Example
De volgende voorbeeldsjabloon retourneert het omgevingsobject:
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [],
  "outputs": {
    "environmentOutput": {
      "type": "object",
      "value": "[environment()]"
    }
  }
}
In het voorgaande voorbeeld wordt het volgende object geretourneerd wanneer het wordt geïmplementeerd in globale Azure:
{
  "name": "AzureCloud",
  "gallery": "https://gallery.azure.com/",
  "graph": "https://graph.windows.net/",
  "portal": "https://portal.azure.com",
  "graphAudience": "https://graph.windows.net/",
  "activeDirectoryDataLake": "https://datalake.azure.net/",
  "batch": "https://batch.core.windows.net/",
  "media": "https://rest.media.azure.net",
  "sqlManagement": "https://management.core.windows.net:8443/",
  "vmImageAliasDoc": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/arm-compute/quickstart-templates/aliases.json",
  "resourceManager": "https://management.azure.com/",
  "authentication": {
    "loginEndpoint": "https://login.microsoftonline.com/",
    "audiences": [
      "https://management.core.windows.net/",
      "https://management.azure.com/"
    ],
    "tenant": "common",
    "identityProvider": "AAD"
  },
  "suffixes": {
    "acrLoginServer": ".azurecr.io",
    "azureDatalakeAnalyticsCatalogAndJob": "azuredatalakeanalytics.net",
    "azureDatalakeStoreFileSystem": "azuredatalakestore.net",
    "azureFrontDoorEndpointSuffix": "azurefd.net",
    "keyvaultDns": ".vault.azure.net",
    "sqlServerHostname": ".database.windows.net",
    "storage": "core.windows.net"
  }
}
parameters
parameters(parameterName)
Retourneert een parameterwaarde. De opgegeven parameternaam moet worden gedefinieerd in de parametersectie van de sjabloon.
In Bicep verwijzen ze rechtstreeks naar parameters met behulp van hun symbolische namen.
Parameters
| Parameter | Required | Type | Description | 
|---|---|---|---|
| parameterName | Yes | string | De naam van de parameter die moet worden geretourneerd. | 
Retourwaarde
De waarde van de opgegeven parameter.
Remarks
Normaal gesproken gebruikt u parameters om resourcewaarden in te stellen. In het volgende voorbeeld wordt de naam van de website ingesteld op de parameterwaarde die tijdens de implementatie is doorgegeven.
"parameters": {
  "siteName": {
    "type": "string"
  }
}, "resources": [
  {
    "type": "Microsoft.Web/Sites",
    "apiVersion": "2016-08-01",
    "name": "[parameters('siteName')]",
    ...
  }
]
Example
In het volgende voorbeeld ziet u een vereenvoudigd gebruik van de parameters functie:
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "stringParameter": {
      "type": "string",
      "defaultValue": "option 1"
    },
    "intParameter": {
      "type": "int",
      "defaultValue": 1
    },
    "objectParameter": {
      "type": "object",
      "defaultValue": {
        "one": "a",
        "two": "b"
      }
    },
    "arrayParameter": {
      "type": "array",
      "defaultValue": [ 1, 2, 3 ]
    },
    "crossParameter": {
      "type": "string",
      "defaultValue": "[parameters('stringParameter')]"
    }
  },
  "variables": {},
  "resources": [],
  "outputs": {
    "stringOutput": {
      "type": "string",
      "value": "[parameters('stringParameter')]"
    },
    "intOutput": {
      "type": "int",
      "value": "[parameters('intParameter')]"
    },
    "objectOutput": {
      "type": "object",
      "value": "[parameters('objectParameter')]"
    },
    "arrayOutput": {
      "type": "array",
      "value": "[parameters('arrayParameter')]"
    },
    "crossOutput": {
      "type": "string",
      "value": "[parameters('crossParameter')]"
    }
  }
}
De uitvoer van standaardwaarden uit het vorige voorbeeld is:
| Name | Type | Value | 
|---|---|---|
| stringOutput | String | optie 1 | 
| intOutput | Int | 1 | 
| objectOutput | Object | {"one": "a", "two": "b"} | 
| arrayOutput | Array | [1, 2, 3] | 
| crossOutput | String | optie 1 | 
Zie parameters in ARM-sjablonen voor meer informatie over het gebruik van parameters.
variables
variables(variableName)
Retourneert de waarde van een variabele. De opgegeven naam van de variabele moet worden gedefinieerd in de sectie variabelen van de sjabloon.
In Bicep kunt u rechtstreeks naar variabelen verwijzen met behulp van hun symbolische namen.
Parameters
| Parameter | Required | Type | Description | 
|---|---|---|---|
| variableName | Yes | String | De naam van de variabele die moet worden geretourneerd. | 
Retourwaarde
De waarde van de opgegeven variabele.
Remarks
Normaal gesproken gebruikt u variabelen om uw sjabloon te vereenvoudigen door complexe waarden slechts één keer samen te stellen. In het volgende voorbeeld wordt een unieke naam gemaakt voor een opslagaccount:
"variables": {
  "storageName": "[concat('storage', uniqueString(resourceGroup().id))]"
},
"resources": [
  {
    "type": "Microsoft.Storage/storageAccounts",
    "name": "[variables('storageName')]",
    ...
  },
  {
    "type": "Microsoft.Compute/virtualMachines",
    "dependsOn": [
      "[variables('storageName')]"
    ],
    ...
  }
],
Example
In het volgende voorbeeld worden verschillende variabelewaarden geretourneerd:
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {},
  "variables": {
    "var1": "myVariable",
    "var2": [ 1, 2, 3, 4 ],
    "var3": "[ variables('var1') ]",
    "var4": {
      "property1": "value1",
      "property2": "value2"
    }
  },
  "resources": [],
  "outputs": {
    "exampleOutput1": {
      "type": "string",
      "value": "[variables('var1')]"
    },
    "exampleOutput2": {
      "type": "array",
      "value": "[variables('var2')]"
    },
    "exampleOutput3": {
      "type": "string",
      "value": "[variables('var3')]"
    },
    "exampleOutput4": {
      "type": "object",
      "value": "[variables('var4')]"
    }
  }
}
De uitvoer van standaardwaarden uit het vorige voorbeeld is:
| Name | Type | Value | 
|---|---|---|
| exampleOutput1 | String | myVariable | 
| exampleOutput2 | Array | [1, 2, 3, 4] | 
| exampleOutput3 | String | myVariable | 
| exampleOutput4 | Object | {"property1": "value1", "property2": "value2"} | 
Zie variabelen in arm-sjabloon voor meer informatie over het gebruik van variabelen.
Volgende stappen
Zie de structuur en syntaxis van ARM-sjablonen voor meer informatie over de secties in een ARM-sjabloon.