Aplicar marcas com a CLI do Azure

Este artigo descreve como usar a CLI do Azure para marcar recursos, grupos de recursos e assinaturas. Para obter recomendações e limitações de marcas, confira Usar marcas para organizar sua hierarquia de recursos e gerenciamento do Azure.

Aplicar marcas

O CLI do Azure oferece dois comandos para aplicar marcas: az tag Create e az tag update. Você precisa ter a versão 2.10.0 da CLI do Azure ou posterior. É possível verificar sua versão atual com az version. Para atualizar ou instalar, consulte Instalar a CLI do Azure.

O az tag create substitui todas as marcas no recurso, no grupo de recursos ou na assinatura. Ao chamar do comando, passe a ID de recurso da entidade que deseja marcar.

O exemplo a seguir aplica um conjunto de marcas a uma conta de armazenamento:

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

Quando o comando for concluído, observe que o recurso terá duas marcas.

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

Se executar o comando novamente, mas desta vez com marcas diferentes, observe que as marcas anteriores desaparecem.

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

Para adicionar marcas a um recurso que já tem marcas, use az tag update. Defina o parâmetro de --operation a Merge.

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

Observe que as marcas existentes crescem com a adição das duas novas marcas.

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

Cada nome de marca pode ter apenas um valor. Se você fornecer um novo valor para uma marca, a nova marca substituirá o valor antigo mesmo que você use a operação de mesclagem. O exemplo a seguir altera a marca de Status de Normal para Verde.

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

Quando você define o parâmetro --operation como Replace, o novo conjunto de marcas substitui as marcas existentes.

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

Somente as novas marcas permanecem no recurso.

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

Os mesmos comandos também funcionam com grupos de recursos ou assinaturas. Passe-os no identificador do grupo de recursos ou assinatura que deseja marcar.

Para adicionar um novo conjunto de marcas a um grupo de recursos, use:

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

Para atualizar as marcas para um grupo de recursos, use:

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

Para adicionar um novo conjunto de marcas a uma assinatura, use:

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

Para atualizar as marcas de uma assinatura, use:

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

Listar marcas

Para obter as marcas de um recurso, grupo de recursos ou assinatura, use o comando az tag list e passe a ID do recurso para a entidade.

Para consultar as marcas para um tipo de recurso, use:

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

Para consultar as marcas para um grupo de recursos, use:

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

Para consultar as marcas de uma assinatura, use:

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

Listar por marca

Para obter recursos que têm um nome e valor de marca específicos, use:

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

Para obter recursos que têm um nome específico e um valor de marca qualquer, use:

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

Para obter grupos recursos que têm um nome e valor de marca específicos, use:

az group list --tag Dept=Finance

Remover Marcas

Para remover marcas específicas, use az tag update e defina --operation como Delete. Passe a ID de recurso das marcas que deseja excluir.

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

Você removeu as marcas especificadas.

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

Para remover todas as marcas, use o comando az tag delete.

az tag delete --resource-id $resource

Espaços de manuseio

Se os nomes ou valores de marcação incluírem espaços, coloque-os entre aspas.

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

Próximas etapas