Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O Azure Resource Manager fornece as seguintes funções para obter valores relacionados à implantação atual do seu modelo do Azure Resource Manager (modelo ARM):
Para obter valores de recursos, grupos de recursos ou assinaturas, consulte funções de recursos.
Tip
Bicep é recomendado, pois oferece as mesmas capacidades que os modelos ARM e tem uma sintaxe mais fácil de usar. Para saber mais, consulte deployment funções.
deployer
deployer()
Retorna as informações sobre a entidade de implantação atual.
No Bicep, use a deployer função.
Valor de retorno
Esta função retorna as informações sobre a entidade de implantação atual, incluindo ID do locatário, ID do objeto e nome principal do usuário:
{
"objectId": "",
"tenantId": "",
"userPrincipalName": ""
}
Example
O exemplo a seguir retorna o objeto 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()]"
}
}
}
O exemplo anterior retorna o seguinte objeto:
{
"objectId":"aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
"tenantId":"aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"userPrincipalName":"john.doe@contoso.com"
}
implementação
deployment()
Retorna informações sobre a operação de implantação atual.
No Bicep, use a deployment função.
Valor de retorno
Essa função retorna o objeto que é passado durante a implantação. As propriedades no objeto retornado diferem com base em:
- Implantando um modelo ou uma especificação de modelo.
- Implantar um modelo que é um arquivo local ou implantar um modelo que é um arquivo remoto acessado por meio de um URI.
- Implantar em um grupo de recursos ou implantar em um dos outros escopos (assinatura do Azure, grupos de gerenciamento ou locatários).
Ao implantar um modelo local em um grupo de recursos, a função retorna o seguinte formato:
{
"name": "",
"properties": {
"template": {
"$schema": "",
"contentVersion": "",
"parameters": {},
"variables": {},
"resources": [],
"outputs": {}
},
"templateHash": "",
"parameters": {},
"mode": "",
"provisioningState": ""
}
}
Se o modelo for remoto, a templateLink propriedade será incluída no objeto retornado. A templateLink propriedade contém o URI do modelo. O formato é:
{
"name": "",
"properties": {
"templateLink": {
"uri": ""
},
"template": {
"$schema": "",
"contentVersion": "",
"parameters": {},
"variables": {},
"resources": [],
"outputs": {}
},
"templateHash": "",
"parameters": {},
"mode": "",
"provisioningState": ""
}
}
Para obter mais informações, consulte Usando variáveis para vincular modelos.
Ao implantar uma especificação de modelo em um grupo de recursos, a função retorna o seguinte formato:
{
"name": "",
"properties": {
"templateLink": {
"id": ""
},
"template": {
"$schema": "",
"contentVersion": "",
"parameters": {},
"variables": {},
"resources": [],
"outputs": {}
},
"templateHash": "",
"parameters": {},
"mode": "",
"provisioningState": ""
}
}
Quando você implanta em uma assinatura, grupo de gerenciamento ou locatário do Azure, o objeto de retorno inclui uma location propriedade. A propriedade location é incluída ao implantar um modelo local ou um modelo externo. O formato é:
{
"name": "",
"location": "",
"properties": {
"template": {
"$schema": "",
"contentVersion": "",
"resources": [],
"outputs": {}
},
"templateHash": "",
"parameters": {},
"mode": "",
"provisioningState": ""
}
}
Ao implantar um modelo languageVersion 2.0 , a deployment função retorna um subconjunto limitado de propriedades:
{
"name": "",
"location": "",
"properties": {
"template": {
"contentVersion": "",
"metadata": {}
},
"templateLink": {
"id": "",
"uri": ""
}
}
}
A location propriedade está incluída apenas para implementações no âmbito da subscrição, grupo de gestão ou inquilino . A templateLink propriedade é incluída apenas quando o utilizador fornece um modelo ligado em vez de um modelo inline.
Remarks
Você pode usar deployment() para vincular a outro modelo com base no URI do modelo pai:
"variables": {
"sharedTemplateUrl": "[uri(deployment().properties.templateLink.uri, 'shared-resources.json')]"
}
Se você reimplantar um modelo a partir do histórico de implantação no portal, o modelo será implantado como um arquivo local. A templateLink propriedade não é retornada na função de implantação. Se o seu modelo depende templateLink para construir um link para outro modelo, não use o portal para reimplantar. Em vez disso, use os comandos usados para implantar originalmente o modelo.
Example
O exemplo a seguir retorna um objeto de implantação:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"deploymentOutput": {
"type": "object",
"value": "[deployment()]"
}
}
}
O exemplo anterior retorna o seguinte objeto:
{
"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"
}
}
Para uma implantação de assinatura, o exemplo a seguir retorna um objeto de implantação:
{
"$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()]"
}
}
}
ambiente
environment()
Retorna informações sobre o ambiente do Azure usado para implantação. A environment() função não está ciente das configurações de recursos. Ele só pode retornar um único sufixo DNS padrão para cada tipo de recurso.
No Bicep, use a environment função.
Remarks
Para ver uma lista de ambientes registados para a sua conta, utilize az cloud list ou Get-AzEnvironment.
Valor de retorno
Essa função retorna propriedades para o ambiente atual do Azure. O exemplo a seguir mostra as propriedades do Azure global; Nuvens soberanas podem retornar propriedades ligeiramente diferentes:
{
"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
O modelo de exemplo a seguir retorna o objeto de ambiente:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"environmentOutput": {
"type": "object",
"value": "[environment()]"
}
}
}
O exemplo anterior retorna o seguinte objeto quando implantado no Azure global:
{
"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)
Retorna um valor de parâmetro. O nome do parâmetro especificado deve ser definido na seção de parâmetros do modelo.
No Bicep, referenciar diretamente parâmetros usando seus nomes simbólicos.
Parameters
| Parameter | Required | Tipo | Description |
|---|---|---|---|
| parameterName | Yes | cadeia (de caracteres) | O nome do parâmetro a ser retornado. |
Valor de retorno
O valor do parâmetro especificado.
Remarks
Normalmente, você usa parâmetros para definir valores de recurso. O exemplo a seguir define o nome do site como o valor do parâmetro passado durante a implantação.
"parameters": {
"siteName": {
"type": "string"
}
}, "resources": [
{
"type": "Microsoft.Web/Sites",
"apiVersion": "2025-03-01",
"name": "[parameters('siteName')]",
...
}
]
Example
O exemplo a seguir mostra um uso simplificado da parameters função:
{
"$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')]"
}
}
}
A saída dos valores padrão do exemplo anterior é:
| Name | Tipo | Value |
|---|---|---|
| stringOutput | String | Opção 1 |
| intOutput | Int | 1 |
| objectOutput | Object | {"um": "a", "dois": "b"} |
| arrayOutput | Array | [1, 2, 3] |
| crossOutput | String | Opção 1 |
Para obter mais informações sobre como usar parâmetros, consulte parâmetros em modelos ARM.
variables
variables(variableName)
Devolve o valor de uma variável. O nome da variável especificada deve ser definido na seção de variáveis do modelo.
No Bicep, referencia diretamente variáveis usando seus nomes simbólicos.
Parameters
| Parameter | Required | Tipo | Description |
|---|---|---|---|
| variableName | Yes | String | O nome da variável a ser retornada. |
Valor de retorno
O valor da variável especificada.
Remarks
Normalmente, você usa variáveis para simplificar seu modelo construindo valores complexos apenas uma vez. O exemplo a seguir constrói um nome exclusivo para uma conta de armazenamento:
"variables": {
"storageName": "[concat('storage', uniqueString(resourceGroup().id))]"
},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"name": "[variables('storageName')]",
...
},
{
"type": "Microsoft.Compute/virtualMachines",
"dependsOn": [
"[variables('storageName')]"
],
...
}
],
Example
O exemplo a seguir retorna valores de variáveis diferentes:
{
"$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')]"
}
}
}
A saída dos valores padrão do exemplo anterior é:
| Name | Tipo | Value |
|---|---|---|
| exampleOutput1 | String | myVariable |
| exampleOutput2 | Array | [1, 2, 3, 4] |
| exampleOutput3 | String | myVariable |
| exampleOutput4 | Object | {"propriedade1": "valor1", "propriedade2": "valor2"} |
Para obter mais informações sobre como usar variáveis, consulte variáveis no modelo ARM.
Próximos passos
Para saber mais sobre as seções em um modelo ARM, consulte a estrutura e a sintaxe dos modelos ARM.