Menerapkan tag dengan Bicep

Artikel ini menjelaskan cara menggunakan Bicep untuk menandai sumber daya, grup sumber daya, dan langganan selama penyebaran. Untuk rekomendasi dan batasan tag, lihat Menggunakan tag untuk mengatur sumber daya Azure dan hierarki manajemen Anda.

Catatan

Tag yang Anda terapkan melalui file Bicep menimpa tag yang ada.

Terapkan nilai

Contoh berikut menerapkan akun penyimpanan dengan tiga tag. Dua tag (Dept dan Environment) diatur ke nilai harfiah. Satu tag (LastDeployed) diatur ke parameter yang default ke tanggal saat ini.

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
  }
}

Menerapkan objek

Anda dapat menentukan parameter objek yang menyimpan beberapa tag dan menerapkan objek tersebut ke elemen tag. Pendekatan ini memberikan fleksibilitas lebih dari contoh sebelumnya karena objek dapat memiliki properti yang berbeda. Setiap properti dalam objek menjadi tag terpisah untuk sumber daya. Contoh berikut memiliki parameter bernama tagValues yang diterapkan ke elemen tag.

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
}

Menerapkan untai (karakter) JSON

Untuk menyimpan banyak nilai dalam satu tag, terapkan untai (karakter) JSON yang mewakili nilai tersebut. Seluruh untai (karakter) JSON disimpan sebagai satu tag yang tidak dapat melebihi 256 karakter. Contoh berikut ini memiliki satu tag bernama CostCenter yang berisi beberapa nilai dari untai (karakter) 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"}'
  }
}

Menerapkan tag dari grup sumber daya

Untuk menerapkan tag dari grup sumber daya ke sumber daya, gunakan fungsi resourceGroup(). Saat mendapatkan nilai tag, gunakan sintaksis tags[tag-name] dan bukan sintaksis tags.tag-name, karena beberapa karakter tidak dipilah dengan benar dalam notasi titik.

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']
  }
}

Menerapkan tag ke grup sumber daya atau langganan

Anda bisa menambahkan tag ke grup sumber daya atau langganan dengan menerapkan Microsoft.Resources/tags jenis sumber daya tersebut. Anda dapat menerapkan tag ke grup sumber daya target atau langganan yang ingin Anda sebarkan. Setiap saat Anda menyebarkan templat, Anda mengganti tag sebelumnya.

param tagName string = 'TeamName'
param tagValue string = 'AppTeam1'

resource applyTags 'Microsoft.Resources/tags@2021-04-01' = {
  name: 'default'
  properties: {
    tags: {
      '${tagName}': tagValue
    }
  }
}

Bicep berikut menambahkan tag dari objek ke langganan tempatnya disebarkan. Untuk informasi selengkapnya tentang penyebaran langganan, lihat Membuat grup sumber daya dan sumber daya di tingkat langganan.

targetScope = 'subscription'

param tagObject object = {
  TeamName: 'AppTeam1'
  Dept: 'Finance'
  Environment: 'Production'
}

resource applyTags 'Microsoft.Resources/tags@2021-04-01' = {
  name: 'default'
  properties: {
    tags: tagObject
  }
}

Langkah berikutnya