Aplicar marcas com o Bicep
Este artigo descreve como usar o Bicep para marcar recursos, grupos de recursos e assinaturas durante a implantação. Para obter recomendações e limitações de marcas, consulte Usar marcas para organizar sua hierarquia de recursos e gerenciamento do Azure.
Observação
As marcas aplicadas por meio de um arquivo Bicep substituem todas as marcas existentes.
Aplicar valores
O exemplo a seguir implanta uma conta de armazenamento com três marcas. Duas das marcas (Dept
e Environment
) são definidas como valores literais. Uma marca (LastDeployed
) é definida como um parâmetro que usa como padrão a data atual.
param location string = resourceGroup().location
param utcShort string = utcNow('d')
resource stgAccount 'Microsoft.Storage/storageAccounts@2021-04-01' = {
name: 'storage${uniqueString(resourceGroup().id)}'
location: location
sku: {
name: 'Standard_LRS'
}
kind: 'Storage'
tags: {
Dept: 'Finance'
Environment: 'Production'
LastDeployed: utcShort
}
}
Aplicar um objeto
Você pode definir um parâmetro de objeto que armazena várias marcas e aplicar esse objeto para o elemento de marca. Essa abordagem fornece mais flexibilidade do que o exemplo anterior porque o objeto pode ter propriedades diferentes. Cada propriedade no objeto se torna uma marca separada para o recurso. O exemplo a seguir tem um parâmetro chamado tagValues
que é aplicado ao elemento de marca.
param location string = resourceGroup().location
param tagValues object = {
Dept: 'Finance'
Environment: 'Production'
}
resource stgAccount 'Microsoft.Storage/storageAccounts@2021-04-01' = {
name: 'storage${uniqueString(resourceGroup().id)}'
location: location
sku: {
name: 'Standard_LRS'
}
kind: 'Storage'
tags: tagValues
}
Aplicar uma cadeia de caracteres JSON
Para armazenar diversos valores em uma única marca, aplica uma cadeia de caracteres JSON que representa os valores. A cadeia de caracteres JSON inteira é armazenada como uma marca que não pode exceder 256 caracteres. O exemplo a seguir tem uma única marca denominada CostCenter
que contém vários valores de uma cadeia de caracteres JSON:
param location string = resourceGroup().location
resource stgAccount 'Microsoft.Storage/storageAccounts@2021-04-01' = {
name: 'storage${uniqueString(resourceGroup().id)}'
location: location
sku: {
name: 'Standard_LRS'
}
kind: 'Storage'
tags: {
CostCenter: '{"Dept":"Finance","Environment":"Production"}'
}
}
Aplicar marcas do grupo de recursos
Para aplicar marcas de um grupo de recursos a um recurso, use a função resourceGroup(). Ao obter o valor da marca, use a sintaxe tags[tag-name]
em vez da sintaxe tags.tag-name
, porque alguns caracteres não são analisados corretamente na notação de ponto.
param location string = resourceGroup().location
resource stgAccount 'Microsoft.Storage/storageAccounts@2021-04-01' = {
name: 'storage${uniqueString(resourceGroup().id)}'
location: location
sku: {
name: 'Standard_LRS'
}
kind: 'Storage'
tags: {
Dept: resourceGroup().tags['Dept']
Environment: resourceGroup().tags['Environment']
}
}
Aplicar marcas a grupos de recursos ou assinaturas
É possível adicionar marcas a um grupo de recursos ou assinatura implantando o tipo de recurso Microsoft.Resources/tags
. Você pode aplicar as marcas ao grupo de recursos de destino ou à assinatura que deseja implantar. Cada vez que implantar o modelo, você substitui as marcas anteriores.
param tagName string = 'TeamName'
param tagValue string = 'AppTeam1'
resource applyTags 'Microsoft.Resources/tags@2021-04-01' = {
name: 'default'
properties: {
tags: {
'${tagName}': tagValue
}
}
}
O Bicep a seguir adiciona as marcas de um objeto à assinatura na qual ele foi implantado. Para saber mais sobre as implantações de assinatura, consulte Criar grupos de recursos e recursos no nível da assinatura.
targetScope = 'subscription'
param tagObject object = {
TeamName: 'AppTeam1'
Dept: 'Finance'
Environment: 'Production'
}
resource applyTags 'Microsoft.Resources/tags@2021-04-01' = {
name: 'default'
properties: {
tags: tagObject
}
}
Próximas etapas
- Nem todos os tipos de recursos suportam tags. Para determinar se você pode aplicar uma tag a um tipo de recurso, consulte Suporte a tags para recursos do Azure.
- Para obter recomendações sobre como implementar uma estratégia de marcação, consulte Guia de decisão de nomenclatura e marcação de recursos.
- Para obter recomendações e limitações de marcas, consulte Usar marcas para organizar sua hierarquia de recursos e gerenciamento do Azure.