使用 Azure CLI 应用标记

本文介绍如何使用 Azure CLI 标记资源、资源组和订阅。 有关标记建议和限制,请参阅使用标记来组织 Azure 资源和管理层次结构

应用标记

Azure CLI 提供了两个用于应用标记的命令:az tag createaz tag update。 需要具有 Azure CLI 2.10.0 或更高版本。 可以使用 az version 检查自己的版本。 若要更新或安装 CLI,请参阅安装 Azure CLI

az tag create 替换资源、资源组或订阅中的所有标记。 调用该命令时,请传入要标记的实体的资源 ID。

以下示例将一组标记应用到存储帐户:

resource=$(az resource show -g demoGroup -n demostorage --resource-type Microsoft.Storage/storageAccounts --query "id" --output tsv)
az tag create --resource-id $resource --tags Dept=Finance Status=Normal

该命令完成后,会发现该资源带有两个标记。

"properties": {
  "tags": {
    "Dept": "Finance",
    "Status": "Normal"
  }
},

如果再次运行该命令(但这一次使用不同的标记),则会发现以前的标记已消失。

az tag create --resource-id $resource --tags Team=Compliance Environment=Production
"properties": {
  "tags": {
    "Environment": "Production",
    "Team": "Compliance"
  }
},

若要将标记添加到已经有标记的资源,请使用 az tag update。 将 --operation 参数设置为 Merge

az tag update --resource-id $resource --operation Merge --tags Dept=Finance Status=Normal

请注意,现有标记随着两个新标记的添加而增长。

"properties": {
  "tags": {
    "Dept": "Finance",
    "Environment": "Production",
    "Status": "Normal",
    "Team": "Compliance"
  }
},

每个标记名称只能有一个值。 如果为标记提供新值,则即使使用合并操作,新标记也会替换旧值。 以下示例将 Status 标记从 Normal 更改为 Green 。

az tag update --resource-id $resource --operation Merge --tags Status=Green
"properties": {
  "tags": {
    "Dept": "Finance",
    "Environment": "Production",
    "Status": "Green",
    "Team": "Compliance"
  }
},

--operation 参数设置为 Replace 时,新标记集将替换现有标记。

az tag update --resource-id $resource --operation Replace --tags Project=ECommerce CostCenter=00123 Team=Web

资源中只会保留新标记。

"properties": {
  "tags": {
    "CostCenter": "00123",
    "Project": "ECommerce",
    "Team": "Web"
  }
},

相同的命令也适用于资源组或订阅。 将它们传入要标记的资源组或订阅的标识符。

若要将一组新标记添加到资源组,请使用:

group=$(az group show -n demoGroup --query id --output tsv)
az tag create --resource-id $group --tags Dept=Finance Status=Normal

若要更新资源组的标记,请使用:

az tag update --resource-id $group --operation Merge --tags CostCenter=00123 Environment=Production

若要将一组新标记添加到订阅,请使用:

sub=$(az account show --subscription "Demo Subscription" --query id --output tsv)
az tag create --resource-id /subscriptions/$sub --tags CostCenter=00123 Environment=Dev

若要更新订阅的标记,请使用:

az tag update --resource-id /subscriptions/$sub --operation Merge --tags Team="Web Apps"

列出标记

若要获取资源、资源组或订阅的标记,请使用 az tag list 命令并传入实体的资源 ID。

若要查看资源的标记,请使用:

resource=$(az resource show -g demoGroup -n demostorage --resource-type Microsoft.Storage/storageAccounts --query "id" --output tsv)
az tag list --resource-id $resource

若要查看资源组的标记,请使用:

group=$(az group show -n demoGroup --query id --output tsv)
az tag list --resource-id $group

若要查看订阅的标记,请使用:

sub=$(az account show --subscription "Demo Subscription" --query id --output tsv)
az tag list --resource-id /subscriptions/$sub

按标记列出

若要获取具有特定标记名称和值的资源,请使用:

az resource list --tag CostCenter=00123 --query [].name

若要获取具有特定标记名称和任意标记值的资源,请使用:

az resource list --tag Team --query [].name

若要获取具有特定标记名称和值的资源组,请使用:

az group list --tag Dept=Finance

删除标记

若要删除特定标记,请使用 az tag update,并将 --operation 设置为 Delete。 传递要删除的标记的资源 ID。

az tag update --resource-id $resource --operation Delete --tags Project=ECommerce Team=Web

已删除指定的标记。

"properties": {
  "tags": {
    "CostCenter": "00123"
  }
},

若要删除所有标记,请使用 az tag delete 命令。

az tag delete --resource-id $resource

处理空格

如果标记名称或值包含空格,请将它们括在引号中。

az tag update --resource-id $group --operation Merge --tags "Cost Center"=Finance-1222 Location="China North"

后续步骤