Bicep ile etiket uygulama
Bu makalede, dağıtım sırasında kaynakları, kaynak gruplarını ve abonelikleri etiketlemek için Bicep'in nasıl kullanılacağı açıklanır. Etiket önerileri ve sınırlamaları için bkz. Azure kaynaklarınızı ve yönetim hiyerarşinizi düzenlemek için etiketleri kullanma.
Not
Bir Bicep dosyası aracılığıyla uyguladığınız etiketler mevcut etiketlerin üzerine yazar.
Değerleri uygulama
Aşağıdaki örnekte üç etiketli bir depolama hesabı dağıtılır. Etiketlerin (Dept
ve Environment
) ikisi değişmez değerlere ayarlanır. Bir etiket (LastDeployed
), varsayılan olarak geçerli tarih olan bir parametreye ayarlanır.
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
}
}
Nesne uygulama
Çeşitli etiketleri depolayan ve bu nesneyi etiket öğesine uygulayan bir nesne parametresi tanımlayabilirsiniz. Nesnenin farklı özellikleri olabileceğinden bu yaklaşım önceki örnekten daha fazla esneklik sağlar. Nesnedeki her özellik, kaynak için ayrı bir etiket haline gelir. Aşağıdaki örnekte, etiket öğesine uygulanan adlı tagValues
bir parametre vardır.
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
}
JSON dizesi uygulama
Çok sayıda değeri tek bir etikete depolamak için, değerleri temsil eden bir JSON dizesi uygulayın. JSON dizesinin tamamı 256 karakteri geçemeyecek tek bir etiket olarak depolanır. Aşağıdaki örnekte bir JSON dizesindeki çok sayıda değeri içeren CostCenter
adlı tek bir etiket kullanılmaktadır:
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"}'
}
}
Kaynak grubundan etiket uygulama
Kaynak grubundaki etiketleri bir kaynağa uygulamak için resourceGroup() işlevini kullanın. Etiket değerini aldığınızda, bazı karakterler noktalı gösteriminde tags[tag-name]
tags.tag-name
doğru ayrıştırılmadığından söz dizimi yerine söz dizimini kullanın.
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']
}
}
Kaynak gruplarına veya aboneliklere etiket uygulama
Kaynak türünü dağıtarak Microsoft.Resources/tags
bir kaynak grubuna veya aboneliğe etiket ekleyebilirsiniz. Etiketleri dağıtmak istediğiniz hedef kaynak grubuna veya aboneliğe uygulayabilirsiniz. Şablonu her dağıttığınızda önceki etiketleri değiştirirsiniz.
param tagName string = 'TeamName'
param tagValue string = 'AppTeam1'
resource applyTags 'Microsoft.Resources/tags@2021-04-01' = {
name: 'default'
properties: {
tags: {
'${tagName}': tagValue
}
}
}
Aşağıdaki Bicep, bir nesnedeki etiketleri dağıtılacağı aboneliğe ekler. Abonelik dağıtımları hakkında daha fazla bilgi için bkz. Abonelik düzeyinde kaynak grupları ve kaynaklar oluşturma.
targetScope = 'subscription'
param tagObject object = {
TeamName: 'AppTeam1'
Dept: 'Finance'
Environment: 'Production'
}
resource applyTags 'Microsoft.Resources/tags@2021-04-01' = {
name: 'default'
properties: {
tags: tagObject
}
}
Sonraki adımlar
- Tüm kaynak türleri etiketleri desteklemez. Bir kaynak türüne etiket uygulayabileceğinizi belirlemek için bkz. Azure kaynakları için etiket desteği.
- Etiketleme stratejisi uygulama hakkında öneriler için bkz . Kaynak adlandırma ve etiketleme karar kılavuzu.
- Etiket önerileri ve sınırlamaları için bkz. Azure kaynaklarınızı ve yönetim hiyerarşinizi düzenlemek için etiketleri kullanma.