Sdílet prostřednictvím


Použití značek pomocí Bicep

Tento článek popisuje, jak pomocí Bicep označit prostředky, skupiny prostředků a předplatná během nasazování. Doporučení a omezení značek najdete v tématu Použití značek k uspořádání prostředků Azure a hierarchie správy.

Poznámka:

Značky, které použijete prostřednictvím souboru Bicep, přepíší všechny existující značky.

Použití hodnot

Následující příklad nasadí účet úložiště se třemi značkami. Dvě značky (Dept a Environment) jsou nastaveny na hodnoty literálu. Jedna značka (LastDeployed) je nastavená na parametr, který se standardně používá k aktuálnímu datu.

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

Použití objektu

Můžete definovat parametr objektu, který ukládá několik značek, a použít tento objekt na prvek značky. Tento přístup poskytuje větší flexibilitu než předchozí příklad, protože objekt může mít různé vlastnosti. Každá vlastnost v objektu se stane samostatnou značkou pro prostředek. Následující příklad obsahuje parametr s názvem tagValues , který použijete u elementu značky.

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
}

Použití řetězce JSON

Pokud chcete uložit mnoho hodnot v jedné značce, použijte řetězec JSON, který představuje hodnoty. Celý řetězec JSON se uloží jako jedna značka, která nesmí překročit 256 znaků. V následujícím příkladu je jedna značka CostCenter, která obsahuje několik hodnot z řetězce 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"}'
  }
}

Použití značek ze skupiny prostředků

Pokud chcete použít značky ze skupiny prostředků na prostředek, použijte funkci resourceGroup(). Když získáte hodnotu značky, použijte tags[tag-name] místo tags.tag-name syntaxe syntaxi syntaxi, protože některé znaky nejsou správně analyzovány v zápisu tečky.

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

Použití značek pro skupiny prostředků nebo předplatná

Značky můžete přidat do skupiny prostředků nebo předplatného nasazením Microsoft.Resources/tags typu prostředku. Značky můžete použít pro cílovou skupinu prostředků nebo předplatné, které chcete nasadit. Pokaždé, když šablonu nasadíte, nahradíte všechny předchozí značky.

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

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

Následující bicep přidá značky z objektu do předplatného, do kterého nasadíte. Další informace o nasazeních předplatného najdete v tématu Vytváření skupin prostředků a prostředků na úrovni předplatného.

targetScope = 'subscription'

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

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

Další kroky