Aplicar etiquetas com o Bicep
Este artigo descreve como utilizar o Bicep para etiquetar recursos, grupos de recursos e subscrições durante a implementação. Para obter recomendações e limitações de etiquetas, veja Utilizar etiquetas para organizar os recursos e a hierarquia de gestão do Azure.
Nota
As etiquetas que aplicar através de um ficheiro Bicep substituem todas as etiquetas existentes.
Aplicar valores
O exemplo seguinte implementa uma conta de armazenamento com três etiquetas. Duas das etiquetas (Dept
e Environment
) estão definidas para valores literais. Uma etiqueta (LastDeployed
) está definida como um parâmetro predefinido para 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
Pode definir um parâmetro de objeto que armazene várias etiquetas e aplique esse objeto ao elemento de etiqueta. Esta abordagem proporciona mais flexibilidade do que o exemplo anterior, porque o objeto pode ter propriedades diferentes. Cada propriedade no objeto torna-se uma etiqueta separada para o recurso. O exemplo seguinte tem um parâmetro com o nome tagValues
aplicado ao elemento de etiqueta.
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 JSON
Para armazenar muitos valores numa única etiqueta, aplique uma cadeia JSON que represente os valores. Toda a cadeia JSON é armazenada como uma etiqueta que não pode exceder os 256 carateres. O exemplo seguinte tem uma única etiqueta com o nome CostCenter
que contém vários valores de uma cadeia 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 etiquetas do grupo de recursos
Para aplicar etiquetas de um grupo de recursos a um recurso, utilize a função resourceGroup( ). Quando obter o valor da etiqueta, utilize a tags[tag-name]
sintaxe em vez da tags.tag-name
sintaxe, porque alguns carateres não são analisados corretamente na notação de pontos.
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 etiquetas a grupos de recursos ou subscrições
Pode adicionar etiquetas a um grupo de recursos ou subscrição ao implementar o Microsoft.Resources/tags
tipo de recurso. Pode aplicar as etiquetas ao grupo de recursos de destino ou à subscrição que pretende implementar. Sempre que implementar o modelo, substitui todas as etiquetas 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 seguinte adiciona as etiquetas de um objeto à subscrição na qual está implementado. Para obter mais informações sobre implementações de subscrições, veja Criar grupos de recursos e recursos ao nível da subscrição.
targetScope = 'subscription'
param tagObject object = {
TeamName: 'AppTeam1'
Dept: 'Finance'
Environment: 'Production'
}
resource applyTags 'Microsoft.Resources/tags@2021-04-01' = {
name: 'default'
properties: {
tags: tagObject
}
}
Passos seguintes
- Nem todos os tipos de recursos suportam etiquetas. Para determinar se pode aplicar uma etiqueta a um tipo de recurso, veja Suporte de etiquetas para recursos do Azure.
- Para obter recomendações sobre como implementar uma estratégia de identificação, veja Guia de decisão de atribuição de nomes e identificação de recursos.
- Para obter recomendações e limitações de etiquetas, veja Utilizar etiquetas para organizar os recursos e a hierarquia de gestão do Azure.