Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, dağıtım sırasında kaynakları, kaynak gruplarını ve abonelikleri etiketlemek için Bicep'in nasıl kullanılacağı açıklanmaktadı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.
Dikkat
Bir Bicep dosyası aracılığıyla uyguladığınız etiketler, kaynakta var olan etiketlerin yerini alır. Mevcut etiketleri korumak istiyorsanız bunları şablona açıkça eklemeniz gerekir.
Değerleri uygulama
Aşağıdaki örnekte üç etiketli bir depolama hesabı dağıtılır. Etiketlerin ikisi (Dept ve Environment) sabit değerlere ayarlanmış. 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 uygula
Çeşitli etiketleri depolayan bir nesne parametresi tanımlayabilir ve bu nesneyi etiket öğesine uygulayabilirsiniz. Nesne farklı özelliklere sahip 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 uyguladığınız 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 etiketleri uygula
Bir kaynak grubundan kaynağa etiket uygulamak için resourceGroup() işlevini kullanın. Etiket değerini aldığınızda, bazı karakterler nokta notasyonunda doğru ayrıştırılmadığından dolayı tags[tag-name] söz dizimi yerine tags.tag-name 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
Microsoft.Resources/tags kaynak türünü dağıtarak 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ğıttığınız aboneliğe ekler. Abonelik dağıtımları hakkında daha fazla bilgi için Abonelik düzeyinde kaynak grupları ve kaynaklar oluşturma bölümüne bakın.
targetScope = 'subscription'
param tagObject object = {
TeamName: 'AppTeam1'
Dept: 'Finance'
Environment: 'Production'
}
resource applyTags 'Microsoft.Resources/tags@2021-04-01' = {
name: 'default'
properties: {
tags: tagObject
}
}
Etiketleri Okuma
Mevcut etiketleri aşağıdaki yaklaşımlarla okuyabilirsiniz.
Uyarı
tags Etiket ayarlanmadıysa kaynak üzerindeki Microsoft.Resources/tags özelliği ayarlanmaz.
Hataları önlemek için .? üzerinde safe-dereference işlecini kullandığınızdan emin olun.
resource readTags 'Microsoft.Resources/tags@2021-04-01' existing = {
name: 'default'
}
var tagValue = readTags.properties?.tags?.myTag
// Equivalent to above:
var tagValue2 = reference(subscriptionResourceId('Microsoft.Resources/tags', 'default'), '2021-04-01', 'Full').properties.?tags.?myTag2
Sonraki adımlar
- Etiketleri destekleyen kaynak türlerinin listesi için bkz . Azure kaynakları için etiket desteği.
- Etiketleme stratejisini nasıl uygulayacağınız konusunda öneriler için Kaynak Adlandırma ve Etiketleme Kararı Kılavuzu'na bakın.
- Etiket önerileri ve sınırlamaları için bkz . Azure kaynaklarınızı ve yönetim hiyerarşinizi düzenlemek için etiketleri kullanma.