Применение тегов с помощью 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"
Дальнейшие действия
- Не все типы ресурсов поддерживают теги. Сведения о возможности применения тегов к типу ресурса см. в статье о поддержке тегов ресурсами Azure.
- Рекомендации по реализации стратегии присвоения тегов см. в разделе Руководство по принятию решений о присвоении имен и тегов для ресурсов.
- Рекомендации и ограничения тегов см. в статье Использование тегов для упорядочения ресурсов Azure и иерархии управления.