Aplicar marcas com o Azure PowerShell
Este artigo descreve como usar o Azure PowerShell 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 Azure PowerShell oferece dois comandos para aplicar marcas: New-AzTag e Update-AzTag. Você precisa ter a versão 1.12.0 do módulo Az.Resources
ou posterior. É possível verificar sua versão atual com Get-InstalledModule -Name Az.Resources
. Pode ser instalado aquele módulo ou instalar o Azure PowerShell versão 3.6.1 ou posterior.
O New-AzTag
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:
$tags = @{"Dept"="Finance"; "Status"="Normal"}
$resource = Get-AzResource -Name demostorage -ResourceGroup demoGroup
New-AzTag -ResourceId $resource.id -Tag $tags
Quando o comando for concluído, observe que o recurso terá duas marcas.
Properties :
Name Value
====== =======
Dept Finance
Status Normal
Se executar o comando novamente, mas desta vez com marcas diferentes, observe que as marcas anteriores desaparecem.
$tags = @{"Team"="Compliance"; "Environment"="Production"}
$resource = Get-AzResource -Name demostorage -ResourceGroup demoGroup
New-AzTag -ResourceId $resource.id -Tag $tags
Properties :
Name Value
=========== ==========
Environment Production
Team Compliance
Para adicionar marcas a um recurso que já tem marcas, use Update-AzTag
. Defina o parâmetro de -Operation
a Merge
.
$tags = @{"Dept"="Finance"; "Status"="Normal"}
$resource = Get-AzResource -Name demostorage -ResourceGroup demoGroup
Update-AzTag -ResourceId $resource.id -Tag $tags -Operation Merge
Observe que as marcas existentes crescem com a adição das duas novas marcas.
Properties :
Name Value
=========== ==========
Status Normal
Dept Finance
Team Compliance
Environment Production
Cada nome de marca pode ter apenas um valor. Se você fornecer um novo valor para uma marca, ele 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.
$tags = @{"Status"="Green"}
$resource = Get-AzResource -Name demostorage -ResourceGroup demoGroup
Update-AzTag -ResourceId $resource.id -Tag $tags -Operation Merge
Properties :
Name Value
=========== ==========
Status Green
Dept Finance
Team Compliance
Environment Production
Quando você define o parâmetro -Operation
como Replace
, o novo conjunto de marcas substitui as marcas existentes.
$tags = @{"Project"="ECommerce"; "CostCenter"="00123"; "Team"="Web"}
$resource = Get-AzResource -Name demostorage -ResourceGroup demoGroup
Update-AzTag -ResourceId $resource.id -Tag $tags -Operation Replace
Somente as novas marcas permanecem no recurso.
Properties :
Name Value
========== =========
CostCenter 00123
Team Web
Project ECommerce
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:
$tags = @{"Dept"="Finance"; "Status"="Normal"}
$resourceGroup = Get-AzResourceGroup -Name demoGroup
New-AzTag -ResourceId $resourceGroup.ResourceId -tag $tags
Para atualizar as marcas para um grupo de recursos, use:
$tags = @{"CostCenter"="00123"; "Environment"="Production"}
$resourceGroup = Get-AzResourceGroup -Name demoGroup
Update-AzTag -ResourceId $resourceGroup.ResourceId -Tag $tags -Operation Merge
Para adicionar um novo conjunto de marcas a uma assinatura, use:
$tags = @{"CostCenter"="00123"; "Environment"="Dev"}
$subscription = (Get-AzSubscription -SubscriptionName "Example Subscription").Id
New-AzTag -ResourceId "/subscriptions/$subscription" -Tag $tags
Para atualizar as marcas de uma assinatura, use:
$tags = @{"Team"="Web Apps"}
$subscription = (Get-AzSubscription -SubscriptionName "Example Subscription").Id
Update-AzTag -ResourceId "/subscriptions/$subscription" -Tag $tags -Operation Merge
É possível ter mais de um recurso com o mesmo nome em um grupo de recursos. Nesse caso, é possível definir cada recurso com os seguintes comandos:
$resource = Get-AzResource -ResourceName sqlDatabase1 -ResourceGroupName examplegroup
$resource | ForEach-Object { Update-AzTag -Tag @{ "Dept"="IT"; "Environment"="Test" } -ResourceId $_.ResourceId -Operation Merge }
Listar marcas
Para obter as marcas de um recurso, grupo de recursos ou assinatura, use o comando Get-AzTag e passe a ID do recurso para a entidade.
Para consultar as marcas para um tipo de recurso, use:
$resource = Get-AzResource -Name demostorage -ResourceGroup demoGroup
Get-AzTag -ResourceId $resource.id
Para consultar as marcas para um grupo de recursos, use:
$resourceGroup = Get-AzResourceGroup -Name demoGroup
Get-AzTag -ResourceId $resourceGroup.ResourceId
Para consultar as marcas de uma assinatura, use:
$subscription = (Get-AzSubscription -SubscriptionName "Example Subscription").Id
Get-AzTag -ResourceId "/subscriptions/$subscription"
Listar por marca
Para obter recursos que têm um nome e valor de marca específicos, use:
(Get-AzResource -Tag @{ "CostCenter"="00123"}).Name
Para obter recursos que têm um nome específico e um valor de marca qualquer, use:
(Get-AzResource -TagName "Dept").Name
Para obter grupos recursos que têm um nome e valor de marca específicos, use:
(Get-AzResourceGroup -Tag @{ "CostCenter"="00123" }).ResourceGroupName
Remover Marcas
Para remover marcas específicas, use Update-AzTag
e defina -Operation
como Delete
. Passe as IDs de recurso das marcas que deseja excluir.
$removeTags = @{"Project"="ECommerce"; "Team"="Web"}
$resource = Get-AzResource -Name demostorage -ResourceGroup demoGroup
Update-AzTag -ResourceId $resource.id -Tag $removeTags -Operation Delete
As marcas especificadas são removidas.
Properties :
Name Value
========== =====
CostCenter 00123
Para remover todas as marcas, use o comando Remove-AzTag.
$subscription = (Get-AzSubscription -SubscriptionName "Example Subscription").Id
Remove-AzTag -ResourceId "/subscriptions/$subscription"
Próximas etapas
- Nem todos os tipos de recursos suportam tags. Para determinar se você pode aplicar uma tag a um tipo de recurso, consulte Suporte a tags para recursos do Azure.
- Para obter recomendações sobre como implementar uma estratégia de marcação, consulte Guia de decisão de nomenclatura e marcação de recursos.
- Para obter recomendações e limitações de marcas, consulte Usar marcas para organizar sua hierarquia de recursos e gerenciamento do Azure.