Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo descrive come usare Bicep per applicare tag a risorse, gruppi di risorse e sottoscrizioni durante la distribuzione. Per le raccomandazioni sui tag e le limitazioni, vedere Usare i tag per organizzare le risorse di Azure e la gerarchia di gestione.
Nota
I tag applicati tramite un file Bicep sostituiranno eventuali tag esistenti nella risorsa. Se si desidera conservare i tag esistenti, è necessario includerli in modo esplicito nel modello.
Applicare i valori
L'esempio seguente distribuisce un account di archiviazione con tre tag. Due dei tag (Dept
e Environment
) sono impostati su valori letterali. Un tag (LastDeployed
) è impostato su un parametro che per impostazione predefinita corrisponde alla data corrente.
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
}
}
Applicare un oggetto
È possibile definire un parametro oggetto in cui vengono archiviati numerosi tag e applicare tale oggetto all'elemento tag. Questo approccio offre maggiore flessibilità rispetto all'esempio precedente perché l'oggetto può avere proprietà diverse. Ogni proprietà nell'oggetto diventa un tag separato per la risorsa. Nell'esempio seguente è presente un parametro denominato tagValues
applicato all'elemento 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
}
Applicare una stringa JSON
Per memorizzare più valori in un singolo tag, è possibile applicare una stringa JSON che rappresenta tali valori. L'intera stringa JSON viene archiviata come un unico tag che non può superare i 256 caratteri. L'esempio seguente include un tag singolo denominato CostCenter
che contiene più valori da una stringa 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"}'
}
}
Applicare i tag dal gruppo di risorse
Per applicare i tag da un gruppo di risorse a una risorsa, usare la funzione resourceGroup(). Quando si ottiene il valore del tag, usare la sintassi tags[tag-name]
anziché la sintassi tags.tag-name
, perché alcuni caratteri non vengono analizzati correttamente nella notazione con il punto.
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']
}
}
Applicare i tag a gruppi di risorse o sottoscrizioni
È possibile aggiungere tag a un gruppo di risorse o a una sottoscrizione distribuendo il tipo di risorsa Microsoft.Resources/tags
. È possibile applicare i tag al gruppo di risorse o alla sottoscrizione di destinazione da distribuire. Ogni volta che distribuisci il modello, sostituisci i tag precedenti.
param tagName string = 'TeamName'
param tagValue string = 'AppTeam1'
resource applyTags 'Microsoft.Resources/tags@2021-04-01' = {
name: 'default'
properties: {
tags: {
'${tagName}': tagValue
}
}
}
Il codice Bicep seguente aggiunge i tag da un oggetto alla sottoscrizione in cui viene distribuito. Per altre informazioni sulle distribuzioni delle sottoscrizioni, vedere Creare gruppi di risorse e risorse a livello di sottoscrizione.
targetScope = 'subscription'
param tagObject object = {
TeamName: 'AppTeam1'
Dept: 'Finance'
Environment: 'Production'
}
resource applyTags 'Microsoft.Resources/tags@2021-04-01' = {
name: 'default'
properties: {
tags: tagObject
}
}
Leggi tag
È possibile leggere i tag esistenti con gli approcci seguenti.
Avvertimento
La tags
proprietà della Microsoft.Resources/tags
risorsa non è impostata se non sono impostati tag.
Per evitare errori, assicurarsi di usare l'operatore safe-dereference (.?
) in properties
.
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
Passaggi successivi
- Per un elenco dei tipi di risorse che supportano i tag, vedere Supporto dei tag per le risorse di Azure.
- Per gli elementi consigliati su come implementare una strategia di assegnazione di tag, vedi Guida alle decisioni per la denominazione delle risorse e l'assegnazione di tag.
- Per le raccomandazioni sui tag e le limitazioni, vedere Usare i tag per organizzare le risorse di Azure e la gerarchia di gestione.