Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Azure Resource Manager fournit les fonctions suivantes pour obtenir des valeurs liées au déploiement actuel de votre modèle Azure Resource Manager (modèle ARM) :
Pour obtenir des valeurs à partir de ressources, de groupes de ressources ou d’abonnements, consultez les fonctions de ressources.
Tip
Bicep est recommandé, car il offre les mêmes fonctionnalités que les modèles ARM et la syntaxe est plus facile à utiliser. Pour en savoir plus, consultez deployment les fonctions.
deployer
deployer()
Retourne les informations sur le principal de déploiement actuel.
Dans Bicep, utilisez la deployer fonction.
Valeur retournée
Cette fonction retourne les informations sur le principal de déploiement actuel, notamment l’ID de locataire, l’ID d’objet et le nom d’utilisateur principal :
{
"objectId": "",
"tenantId": "",
"userPrincipalName": ""
}
Example
L’exemple suivant retourne l’objet deployer :
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"developerOutput": {
"type": "object",
"value": "[deployer()]"
}
}
}
L’exemple précédent retourne l’objet suivant :
{
"objectId":"aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
"tenantId":"aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"userPrincipalName":"john.doe@contoso.com"
}
deployment
deployment()
Renvoie des informations sur l’opération de déploiement actuelle.
Dans Bicep, utilisez la deployment fonction.
Valeur retournée
Cette fonction retourne l’objet passé pendant le déploiement. Les propriétés de l’objet retourné diffèrent selon que vous êtes :
- Déploiement d’un modèle ou d’une spécification de modèle.
- Déploiement d’un modèle qui est un fichier local ou déploiement d’un modèle accessible via un URI.
- Déploiement sur un groupe de ressources ou déploiement sur l’une des autres étendues (abonnement Azure, groupes d’administration ou locataires).
Lors du déploiement d’un modèle local dans un groupe de ressources, la fonction retourne le format suivant :
{
"name": "",
"properties": {
"template": {
"$schema": "",
"contentVersion": "",
"parameters": {},
"variables": {},
"resources": [],
"outputs": {}
},
"templateHash": "",
"parameters": {},
"mode": "",
"provisioningState": ""
}
}
Si le modèle est distant, la templateLink propriété est incluse dans l’objet retourné. La templateLink propriété contient l’URI du modèle. Le format est le suivant :
{
"name": "",
"properties": {
"templateLink": {
"uri": ""
},
"template": {
"$schema": "",
"contentVersion": "",
"parameters": {},
"variables": {},
"resources": [],
"outputs": {}
},
"templateHash": "",
"parameters": {},
"mode": "",
"provisioningState": ""
}
}
Pour plus d’informations, consultez Utilisation de variables pour lier des modèles.
Lors du déploiement d’une spécification de modèle dans un groupe de ressources, la fonction retourne le format suivant :
{
"name": "",
"properties": {
"templateLink": {
"id": ""
},
"template": {
"$schema": "",
"contentVersion": "",
"parameters": {},
"variables": {},
"resources": [],
"outputs": {}
},
"templateHash": "",
"parameters": {},
"mode": "",
"provisioningState": ""
}
}
Lorsque vous déployez sur un abonnement Azure, un groupe d’administration ou un locataire, l’objet retourné comprend une propriété location. La propriété d’emplacement est incluse lors du déploiement d’un modèle local ou d’un modèle externe. Le format est le suivant :
{
"name": "",
"location": "",
"properties": {
"template": {
"$schema": "",
"contentVersion": "",
"resources": [],
"outputs": {}
},
"templateHash": "",
"parameters": {},
"mode": "",
"provisioningState": ""
}
}
Lors du déploiement d’un modèle languageVersion 2.0 , la deployment fonction retourne un sous-ensemble limité de propriétés :
{
"name": "",
"location": "",
"properties": {
"template": {
"contentVersion": "",
"metadata": {}
},
"templateLink": {
"id": "",
"uri": ""
}
}
}
La location propriété est incluse uniquement pour les déploiements au niveau de l’abonnement, du groupe d’administration ou de l’étendue du locataire . La templateLink propriété est incluse uniquement lorsque l’utilisateur fournit un modèle lié plutôt qu’un modèle inline.
Remarks
Vous pouvez utiliser deployment() pour créer un lien vers un autre modèle en fonction de l’URI du modèle parent :
"variables": {
"sharedTemplateUrl": "[uri(deployment().properties.templateLink.uri, 'shared-resources.json')]"
}
Si vous redéployez un modèle à partir de l’historique de déploiement dans le portail, le modèle est déployé comme un fichier local. La propriété templateLink n’est pas retournée dans la fonction de déploiement. Si votre modèle s’appuie sur templateLink pour construire un lien vers un autre modèle, n’utilisez pas le portail pour redéployer. À la place, utilisez les commandes dont vous vous êtes servi pour déployer le modèle à l’origine.
Example
L’exemple suivant retourne un objet de déploiement :
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"deploymentOutput": {
"type": "object",
"value": "[deployment()]"
}
}
}
L’exemple précédent retourne l’objet suivant :
{
"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"
}
}
Pour un déploiement d’abonnement, l’exemple suivant retourne un objet de déploiement :
{
"$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()
Retourne des informations sur l’environnement Azure utilisé pour le déploiement. La environment() fonction ne connaît pas les configurations de ressources. Il ne peut retourner qu’un seul suffixe DNS par défaut pour chaque type de ressource.
Dans Bicep, utilisez la environment fonction.
Remarks
Pour afficher la liste des environnements inscrits pour votre compte, utilisez az cloud list ou Get-AzEnvironment.
Valeur retournée
Cette valeur retourne des propriétés pour l’environnement Azure actuel. L’exemple suivant montre les propriétés d’Azure global ; Les clouds souverains peuvent retourner des propriétés légèrement différentes :
{
"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
L’exemple de modèle suivant retourne l’objet d’environnement :
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"environmentOutput": {
"type": "object",
"value": "[environment()]"
}
}
}
L’exemple précédent retourne l’objet suivant lorsqu’il est déployé vers Azure international :
{
"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)
Retourne une valeur de paramètre. Le nom de paramètre spécifié doit être défini dans la section paramètres du modèle.
Dans Bicep, référencez directement les paramètres à l’aide de leurs noms symboliques.
Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
| parameterName | Yes | string | Nom du paramètre à retourner. |
Valeur retournée
La valeur du paramètre spécifié.
Remarks
En général, vous utilisez les paramètres pour définir les valeurs de la ressource. L’exemple suivant définit le nom du site web sur la valeur du paramètre transmise au cours du déploiement.
"parameters": {
"siteName": {
"type": "string"
}
}, "resources": [
{
"type": "Microsoft.Web/Sites",
"apiVersion": "2025-03-01",
"name": "[parameters('siteName')]",
...
}
]
Example
L’exemple suivant montre une utilisation simplifiée de la parameters fonction :
{
"$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')]"
}
}
}
La sortie des valeurs par défaut de l’exemple précédent est la suivante :
| Name | Type | Value |
|---|---|---|
| stringOutput | String | Option 1 |
| intOutput | Int | 1 |
| objectOutput | Object | {"one » : « a », « two » : « b"} |
| arrayOutput | Array | [1, 2, 3] |
| crossOutput | String | Option 1 |
Pour plus d’informations sur l’utilisation des paramètres, consultez les paramètres dans les modèles ARM.
variables
variables(variableName)
Retourne la valeur d’une variable. Le nom de variable spécifié doit être défini dans la section variables du modèle.
Dans Bicep, référencez directement des variables à l’aide de leurs noms symboliques.
Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
| variableName | Yes | String | Nom de la variable à retourner. |
Valeur retournée
La valeur de la variable spécifiée.
Remarks
En général, vous utilisez les variables pour simplifier votre modèle en créant des valeurs complexes une seule fois. L’exemple suivant construit un nom unique pour un compte de stockage :
"variables": {
"storageName": "[concat('storage', uniqueString(resourceGroup().id))]"
},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"name": "[variables('storageName')]",
...
},
{
"type": "Microsoft.Compute/virtualMachines",
"dependsOn": [
"[variables('storageName')]"
],
...
}
],
Example
L’exemple suivant retourne différentes valeurs de variable :
{
"$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')]"
}
}
}
La sortie des valeurs par défaut de l’exemple précédent est la suivante :
| Name | Type | Value |
|---|---|---|
| exampleOutput1 | String | myVariable |
| exampleOutput2 | Array | [1, 2, 3, 4] |
| exampleOutput3 | String | myVariable |
| exampleOutput4 | Object | {"property1 » : « value1 », « property2 » : « value2"} |
Pour plus d’informations sur l’utilisation de variables, consultez les variables dans le modèle ARM.
Étapes suivantes
Pour en savoir plus sur les sections d’un modèle ARM, consultez la structure et la syntaxe des modèles ARM.