Tags toepassen met Bicep
In dit artikel wordt beschreven hoe u Bicep gebruikt om resources, resourcegroepen en abonnementen te taggen tijdens de implementatie. Zie Tags gebruiken om uw Azure-resources en -beheerhiërarchie te organiseren voor aanbevelingen en beperkingen voor tags.
Notitie
De tags die u via een Bicep-bestand toepast, overschrijven alle bestaande tags.
Waarden toepassen
In het volgende voorbeeld wordt een opslagaccount met drie tags geïmplementeerd. Twee van de tags (Dept
en Environment
) zijn ingesteld op letterlijke waarden. Eén tag (LastDeployed
) is ingesteld op een parameter die standaard de huidige datum heeft.
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
}
}
Een object toepassen
U kunt een objectparameter definiëren waarin verschillende tags worden opgeslagen en dat object toepassen op het tag-element. Deze benadering biedt meer flexibiliteit dan in het vorige voorbeeld, omdat het object verschillende eigenschappen kan hebben. Elke eigenschap in het object wordt een afzonderlijke tag voor de resource. Het volgende voorbeeld bevat een parameter met de naam tagValues
die wordt toegepast op het tag-element.
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
}
Een JSON-tekenreeks toepassen
Als u veel waarden wilt opslaan in een enkele tag, past u een JSON-tekenreeks toe die de waarden vertegenwoordigt. De hele JSON-tekenreeks wordt opgeslagen als één tag die niet langer mag zijn dan 256 tekens. Het volgende voorbeeld heeft een enkele tag met de naam CostCenter
die verschillende waarden uit een JSON-tekenreeks bevat:
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"}'
}
}
Tags toepassen vanuit resourcegroep
Als u tags van een resourcegroep wilt toepassen op een resource, gebruikt u de functie resourceGroup(). Wanneer u de tagwaarde krijgt, gebruikt u de tags[tag-name]
syntaxis in plaats van de tags.tag-name
syntaxis, omdat sommige tekens niet correct worden geparseerd in de puntnotatie.
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']
}
}
Tags toepassen op resourcegroepen of abonnementen
U kunt tags toevoegen aan een resourcegroep of abonnement door het Microsoft.Resources/tags
resourcetype te implementeren. U kunt de tags toepassen op de doelresourcegroep of het abonnement dat u wilt implementeren. Telkens wanneer u de sjabloon implementeert, vervangt u eventuele eerdere tags.
param tagName string = 'TeamName'
param tagValue string = 'AppTeam1'
resource applyTags 'Microsoft.Resources/tags@2021-04-01' = {
name: 'default'
properties: {
tags: {
'${tagName}': tagValue
}
}
}
De volgende Bicep voegt de tags van een object toe aan het abonnement waarop het is geïmplementeerd. Zie Resourcegroepen en resources maken op abonnementsniveau voor meer informatie over abonnementsimplementaties.
targetScope = 'subscription'
param tagObject object = {
TeamName: 'AppTeam1'
Dept: 'Finance'
Environment: 'Production'
}
resource applyTags 'Microsoft.Resources/tags@2021-04-01' = {
name: 'default'
properties: {
tags: tagObject
}
}
Volgende stappen
- Niet alle resourcetypen ondersteunen tags. Zie Tagondersteuning voor Azure-resources om te bepalen of u een tag kunt toepassen op een resourcetype.
- Zie Resource naming and tagging decision guide (Handleiding voor het nemen van namen en taggen van resources) voor aanbevelingen over het implementeren van een tagstrategie.
- Zie Tags gebruiken om uw Azure-resources en -beheerhiërarchie te organiseren voor aanbevelingen en beperkingen voor tags.