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 de escopo de implantação em seu modelo do Azure Resource Manager (modelo ARM):
Para obter valores de parâmetros, variáveis ou da implantação atual, consulte Funções de valor de implantação.
Sugestão
Bicep é recomendado, pois oferece as mesmas capacidades que os modelos ARM e tem uma sintaxe mais fácil de usar. Para saber mais, consulte scope funções.
gestãoGrupo
managementGroup()
Retorna um objeto com propriedades do grupo de gerenciamento na implantação atual.
No Bicep, use a managementGroup função scope.
Observações
managementGroup() só pode ser usado em implantações de grupo de gerenciamento. Ele retorna o grupo de gerenciamento atual para a operação de implantação. Use-o para obter propriedades para o grupo de gerenciamento atual.
Valor de retorno
Um objeto com as propriedades do grupo de gerenciamento atual.
Exemplo de grupo de gerenciamento
O exemplo a seguir retorna propriedades para o grupo de gerenciamento atual:
{
"$schema": "https://schema.management.azure.com/schemas/2019-08-01/managementGroupDeploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"variables": {
"mgInfo": "[managementGroup()]"
},
"resources": [],
"outputs": {
"mgResult": {
"type": "object",
"value": "[variables('mgInfo')]"
}
}
}
Retorna:
"mgResult": {
"type": "Object",
"value": {
"id": "/providers/Microsoft.Management/managementGroups/examplemg1",
"name": "examplemg1",
"properties": {
"details": {
"parent": {
"displayName": "Tenant Root Group",
"id": "/providers/Microsoft.Management/managementGroups/00000000-0000-0000-0000-000000000000",
"name": "00000000-0000-0000-0000-000000000000"
},
"updatedBy": "00000000-0000-0000-0000-000000000000",
"updatedTime": "2020-07-23T21:05:52.661306Z",
"version": "1"
},
"displayName": "Example MG 1",
"tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee"
},
"type": "/providers/Microsoft.Management/managementGroups"
}
}
O próximo exemplo cria um novo grupo de gerenciamento e usa essa função para definir o grupo de gerenciamento pai:
{
"$schema": "https://schema.management.azure.com/schemas/2019-08-01/managementGroupDeploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"mgName": {
"type": "string",
"defaultValue": "[format('mg-{0}', uniqueString(newGuid()))]"
}
},
"resources": [
{
"type": "Microsoft.Management/managementGroups",
"apiVersion": "2024-02-01-preview",
"scope": "/",
"name": "[parameters('mgName')]",
"properties": {
"details": {
"parent": {
"id": "[managementGroup().id]"
}
}
}
}
],
"outputs": {
"newManagementGroup": {
"type": "string",
"value": "[parameters('mgName')]"
}
}
}
Grupo de Recursos
resourceGroup()
Retorna um objeto que representa o grupo de recursos atual.
No Bicep, use a resourceGroup função scope.
Valor de retorno
O objeto retornado está no seguinte formato:
{
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}",
"name": "{resourceGroupName}",
"type":"Microsoft.Resources/resourceGroups",
"location": "{resourceGroupLocation}",
"managedBy": "{identifier-of-managing-resource}",
"tags": {
},
"properties": {
"provisioningState": "{status}"
}
}
A propriedade managedBy é retornada somente para grupos de recursos que contêm recursos gerenciados por outro serviço. Para Aplicativos Gerenciados, Databricks e AKS, o valor da propriedade é a ID do recurso de gerenciamento.
Observações
A resourceGroup() função não pode ser usada em um modelo implantado no nível da assinatura. Ele só pode ser usado em modelos que são implantados em um grupo de recursos. Você pode usar a resourceGroup() função em um modelo vinculado ou aninhado (com escopo interno) destinado a um grupo de recursos, mesmo quando o modelo pai é implantado na assinatura. Nesse cenário, o modelo vinculado ou aninhado é implantado no nível do grupo de recursos. Para obter mais informações sobre como direcionar um grupo de recursos em uma implantação no nível de assinatura, consulte Implantar recursos do Azure em mais de uma assinatura ou grupo de recursos.
Um uso comum da resourceGroup função é criar recursos no mesmo local que o grupo de recursos. O exemplo a seguir usa o local do grupo de recursos para um valor de parâmetro padrão.
"parameters": {
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]"
}
}
Você também pode usar a resourceGroup função para aplicar tags do grupo de recursos a um recurso. Para obter mais informações, consulte Aplicar tags do grupo de recursos.
Ao usar modelos aninhados para implantar em vários grupos de recursos, você pode especificar o escopo para avaliar a resourceGroup função. Para obter mais informações, consulte Implantar recursos do Azure em mais de uma assinatura ou grupo de recursos.
Exemplo de grupo de recursos
O exemplo a seguir retorna as propriedades do grupo de recursos:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"resourceGroupOutput": {
"type": "object",
"value": "[resourceGroup()]"
}
}
}
O exemplo anterior retorna um objeto no seguinte formato:
{
"id": "/subscriptions/{subscription-id}/resourceGroups/examplegroup",
"name": "examplegroup",
"type":"Microsoft.Resources/resourceGroups",
"location": "southcentralus",
"properties": {
"provisioningState": "Succeeded"
}
}
subscrição
subscription()
Retorna detalhes sobre a assinatura para a implantação atual.
No Bicep, use a subscription função scope.
Valor de retorno
A função retorna o seguinte formato:
{
"id": "/subscriptions/{subscription-id}",
"subscriptionId": "{subscription-id}",
"tenantId": "{tenant-id}",
"displayName": "{name-of-subscription}"
}
Observações
Ao usar modelos aninhados para implantar em várias assinaturas, você pode especificar o escopo para avaliar a subscription função. Para obter mais informações, consulte Implantar recursos do Azure em mais de uma assinatura ou grupo de recursos.
Exemplo de subscrição
O exemplo a seguir mostra a subscription função chamada na seção outputs :
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"subscriptionOutput": {
"type": "object",
"value": "[subscription()]"
}
}
}
inquilino
tenant()
Retorna o locatário do usuário.
No Bicep, use a tenant função scope.
Observações
tenant() pode ser usado com qualquer escopo de implantação. Ele sempre retorna o locatário atual. Use essa função para obter propriedades para o locatário atual.
Ao definir o escopo de um modelo vinculado ou recurso de extensão, use a sintaxe: "scope": "/".
Valor de retorno
Um objeto com propriedades sobre o locatário atual.
Exemplo de locatário
O exemplo a seguir retorna as propriedades de um locatário:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"variables": {
"tenantInfo": "[tenant()]"
},
"resources": [],
"outputs": {
"tenantResult": {
"type": "object",
"value": "[variables('tenantInfo')]"
}
}
}
Retorna:
"tenantResult": {
"type": "Object",
"value": {
"countryCode": "US",
"displayName": "Contoso",
"id": "/tenants/00000000-0000-0000-0000-000000000000",
"tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee"
}
}
Próximos passos
- Para saber mais sobre as seções em um modelo ARM, consulte a estrutura e a sintaxe dos modelos ARM.
- Para mesclar vários modelos, consulte Modelos vinculados e aninhados ao implantar recursos do Azure.
- Para iterar um número especificado de vezes ao criar um tipo de recurso, consulte Iteração de recursos em modelos ARM.
- Para saber mais sobre como implantar o modelo que você criou, veja como implantar recursos com modelos ARM e Azure PowerShell.