Címkék alkalmazása ARM-sablonokkal
Ez a cikk azt ismerteti, hogyan címkézhet meg erőforrásokat, erőforráscsoportokat és előfizetéseket az üzembe helyezés során az Azure Resource Manager-sablonok (ARM-sablonok) használatával. 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
Az ARM-sablonon vagy 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.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"utcShort": {
"type": "string",
"defaultValue": "[utcNow('d')]"
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]"
}
},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2021-04-01",
"name": "[concat('storage', uniqueString(resourceGroup().id))]",
"location": "[parameters('location')]",
"sku": {
"name": "Standard_LRS"
},
"kind": "Storage",
"tags": {
"Dept": "Finance",
"Environment": "Production",
"LastDeployed": "[parameters('utcShort')]"
},
"properties": {}
}
]
}
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.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]"
},
"tagValues": {
"type": "object",
"defaultValue": {
"Dept": "Finance",
"Environment": "Production"
}
}
},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2021-04-01",
"name": "[concat('storage', uniqueString(resourceGroup().id))]",
"location": "[parameters('location')]",
"sku": {
"name": "Standard_LRS"
},
"kind": "Storage",
"tags": "[parameters('tagValues')]",
"properties": {}
}
]
}
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:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]"
}
},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2021-04-01",
"name": "[concat('storage', uniqueString(resourceGroup().id))]",
"location": "[parameters('location')]",
"sku": {
"name": "Standard_LRS"
},
"kind": "Storage",
"tags": {
"CostCenter": "{\"Dept\":\"Finance\",\"Environment\":\"Production\"}"
},
"properties": {}
}
]
}
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.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]"
}
},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2021-04-01",
"name": "[concat('storage', uniqueString(resourceGroup().id))]",
"location": "[parameters('location')]",
"sku": {
"name": "Standard_LRS"
},
"kind": "Storage",
"tags": {
"Dept": "[resourceGroup().tags['Dept']]",
"Environment": "[resourceGroup().tags['Environment']]"
},
"properties": {}
}
]
}
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.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"tagName": {
"type": "string",
"defaultValue": "TeamName"
},
"tagValue": {
"type": "string",
"defaultValue": "AppTeam1"
}
},
"resources": [
{
"type": "Microsoft.Resources/tags",
"name": "default",
"apiVersion": "2021-04-01",
"properties": {
"tags": {
"[parameters('tagName')]": "[parameters('tagValue')]"
}
}
}
]
}
Ha a címkéket egy erőforráscsoportra szeretné alkalmazni, használja a Azure PowerShell vagy az Azure CLI-t. Helyezze üzembe a címkézni kívánt erőforráscsoportot.
New-AzResourceGroupDeployment -ResourceGroupName exampleGroup -TemplateFile https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/tags.json
az deployment group create --resource-group exampleGroup --template-uri https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/tags.json
Ha a címkéket egy előfizetésre szeretné alkalmazni, használja a PowerShellt vagy az Azure CLI-t. Helyezze üzembe a címkézni kívánt előfizetést.
New-AzSubscriptionDeployment -name tagresourcegroup -Location westus2 -TemplateUri https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/tags.json
az deployment sub create --name tagresourcegroup --location westus2 --template-uri https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/tags.json
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.
Az alábbi sablon hozzáadja egy objektum címkéit egy erőforráscsoporthoz vagy előfizetéshez.
{
"$schema": "https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"tags": {
"type": "object",
"defaultValue": {
"TeamName": "AppTeam1",
"Dept": "Finance",
"Environment": "Production"
}
}
},
"resources": [
{
"type": "Microsoft.Resources/tags",
"apiVersion": "2021-04-01",
"name": "default",
"properties": {
"tags": "[parameters('tags')]"
}
}
]
}
Következő lépések
- Nem minden erőforrástípus támogatja a címkéket. Annak megállapításához, hogy alkalmazhat-e címkét egy erőforrástípusra, tekintse meg az Azure-erőforrások címkézési támogatását ismertető cikket.
- A címkézési stratégia implementálásával kapcsolatos javaslatokért lásd: Erőforrás-elnevezési és címkézési döntési útmutató.
- 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.