Применение тегов с помощью Azure CLI

В этой статье описывается использование Azure CLI для добавления тегов к ресурсам, группам ресурсов и подпискам. Рекомендации и ограничения тегов см. в статье Использование тегов для упорядочения ресурсов Azure и иерархии управления.

Применить теги

Интерфейс командной строки Azure предлагает две команды для применения тегов: az tag create и az tag update. Вам потребуется Azure CLI 2.10.0 или более поздней версии. Проверить версию можно с помощью az version. См. инструкции по обновлению и установке в статье Установка Azure CLI.

Команда az tag create заменяет все теги в ресурсе, группе ресурсов или подписке. При вызове команды укажите идентификатор ресурса той сущности, которой нужно присвоить тег.

В следующем примере набор тегов присваивается учетной записи хранения.

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 и укажите идентификатор ресурса для сущности.

Чтобы просмотреть теги ресурса, используйте:

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. Передайте идентификаторы ресурсов тегов, которые требуется удалить.

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="West US"

Дальнейшие действия