Címkék alkalmazása a Bicep használatával

Ez a cikk azt ismerteti, hogyan címkézhet meg erőforrásokat, erőforráscsoportokat és előfizetéseket a Bicep használatával az üzembe helyezés során. A címkékre vonatkozó javaslatokért és korlátozásokért lásd: Címkék használata az Azure-erőforrások és a felügyeleti hierarchia rendszerezéséhez.

Megjegyzés

A Bicep-fájlon keresztül alkalmazott címkék felülírják a meglévő címkéket.

Értékek alkalmazása

Az alábbi példa egy három címkével rendelkező tárfiókot helyez üzembe. A címkék közül kettő (Dept és Environment) literális értékekre van állítva. Az egyik címke (LastDeployed) egy olyan paraméterre van beállítva, amely alapértelmezés szerint az aktuális dátumra van beállítva.

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

Objektum alkalmazása

Definiálhat egy objektumparamétert, amely több címkét tárol, és alkalmazza az objektumot a címkeelemre. Ez a megközelítés nagyobb rugalmasságot biztosít, mint az előző példa, mivel az objektum különböző tulajdonságokkal rendelkezhet. Az objektum minden tulajdonsága az erőforrás külön címkéjévé válik. Az alábbi példában egy nevű tagValues paraméter van alkalmazva a címkeelemre.

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-sztring alkalmazása

Ha több értéket szeretne tárolni egyetlen címkében, alkalmazzon a megfelelő értékeket képviselő JSON-sztringet. A teljes JSON-sztring egyetlen címkeként van tárolva, amely nem haladhatja meg a 256 karaktert. Az alábbi példában egy CostCenter nevű címke szerepel, amely egy JSON-sztring számos értékét tartalmazza:

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

Címkék alkalmazása erőforráscsoportból

Ha egy erőforráscsoportból címkéket szeretne alkalmazni egy erőforrásra, használja a resourceGroup() függvényt. A címkeérték lekérésekor a szintaxis helyett használja a tags[tag-name]tags.tag-name szintaxist, mert egyes karakterek nem megfelelően vannak elemezve a pont jelölésében.

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

Címkék alkalmazása erőforráscsoportokra vagy előfizetésekre

Az erőforrástípus üzembe helyezésével címkéket adhat hozzá egy Microsoft.Resources/tags erőforráscsoporthoz vagy előfizetéshez. A címkéket alkalmazhatja az üzembe helyezni kívánt cél erőforráscsoportra vagy előfizetésre. Minden alkalommal, amikor üzembe helyezi a sablont, lecseréli az előző címkéket.

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

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

A következő Bicep hozzáadja egy objektum címkéit ahhoz az előfizetéshez, amelybe üzembe van helyezve. Az előfizetések üzembe helyezésével kapcsolatos további információkért lásd: Erőforráscsoportok és erőforrások létrehozása előfizetési szinten.

targetScope = 'subscription'

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

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

Következő lépések