Aplicar etiquetas com Azure PowerShell
Este artigo descreve como utilizar Azure PowerShell para etiquetar recursos, grupos de recursos e subscrições. Para obter recomendações e limitações de etiquetas, veja Utilizar etiquetas para organizar os recursos do Azure e a hierarquia de gestão.
Aplicar etiquetas
Azure PowerShell oferece dois comandos para aplicar etiquetas: New-AzTag e Update-AzTag. Tem de ter a Az.Resources
versão 1.12.0 do módulo 1.12.0 ou posterior. Pode verificar a sua versão com Get-InstalledModule -Name Az.Resources
. Pode instalar esse módulo ou instalar Azure PowerShell versão 3.6.1 ou posterior.
O New-AzTag
substitui todas as etiquetas no recurso, grupo de recursos ou subscrição. Quando chamar o comando, transmita o ID de recurso da entidade que pretende etiquetar.
O exemplo seguinte aplica um conjunto de etiquetas 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, repare que o recurso tem duas etiquetas.
Properties :
Name Value
====== =======
Dept Finance
Status Normal
Se executar o comando novamente, mas desta vez com etiquetas diferentes, repare que as etiquetas 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 etiquetas a um recurso que já tenha etiquetas, utilize Update-AzTag
. Defina o -Operation
parâmetro como Merge
.
$tags = @{"Dept"="Finance"; "Status"="Normal"}
$resource = Get-AzResource -Name demostorage -ResourceGroup demoGroup
Update-AzTag -ResourceId $resource.id -Tag $tags -Operation Merge
Repare que as etiquetas existentes aumentam com a adição das duas novas etiquetas.
Properties :
Name Value
=========== ==========
Status Normal
Dept Finance
Team Compliance
Environment Production
Cada nome de etiqueta só pode ter um valor. Se fornecer um novo valor para uma etiqueta, este substitui o valor antigo mesmo que utilize a operação de impressão em série. O exemplo seguinte altera a Status
etiqueta 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 define o -Operation
parâmetro como Replace
, o novo conjunto de etiquetas substitui as etiquetas existentes.
$tags = @{"Project"="ECommerce"; "CostCenter"="00123"; "Team"="Web"}
$resource = Get-AzResource -Name demostorage -ResourceGroup demoGroup
Update-AzTag -ResourceId $resource.id -Tag $tags -Operation Replace
Apenas as novas etiquetas permanecem no recurso.
Properties :
Name Value
========== =========
CostCenter 00123
Team Web
Project ECommerce
Os mesmos comandos também funcionam com grupos de recursos ou subscrições. Transmita-os no identificador do grupo de recursos ou subscrição que pretende etiquetar.
Para adicionar um novo conjunto de etiquetas a um grupo de recursos, utilize:
$tags = @{"Dept"="Finance"; "Status"="Normal"}
$resourceGroup = Get-AzResourceGroup -Name demoGroup
New-AzTag -ResourceId $resourceGroup.ResourceId -tag $tags
Para atualizar as etiquetas de um grupo de recursos, utilize:
$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 etiquetas a uma subscrição, utilize:
$tags = @{"CostCenter"="00123"; "Environment"="Dev"}
$subscription = (Get-AzSubscription -SubscriptionName "Example Subscription").Id
New-AzTag -ResourceId "/subscriptions/$subscription" -Tag $tags
Para atualizar as etiquetas de uma subscrição, utilize:
$tags = @{"Team"="Web Apps"}
$subscription = (Get-AzSubscription -SubscriptionName "Example Subscription").Id
Update-AzTag -ResourceId "/subscriptions/$subscription" -Tag $tags -Operation Merge
Pode ter mais do que um recurso com o mesmo nome num grupo de recursos. Nesse caso, pode 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 etiquetas
Para obter as etiquetas de um recurso, grupo de recursos ou subscrição, utilize o comando Get-AzTag e transmita o ID de recurso da entidade.
Para ver as etiquetas de um recurso, utilize:
$resource = Get-AzResource -Name demostorage -ResourceGroup demoGroup
Get-AzTag -ResourceId $resource.id
Para ver as etiquetas de um grupo de recursos, utilize:
$resourceGroup = Get-AzResourceGroup -Name demoGroup
Get-AzTag -ResourceId $resourceGroup.ResourceId
Para ver as etiquetas de uma subscrição, utilize:
$subscription = (Get-AzSubscription -SubscriptionName "Example Subscription").Id
Get-AzTag -ResourceId "/subscriptions/$subscription"
Listar por etiqueta
Para obter recursos com um nome e valor de etiqueta específicos, utilize:
(Get-AzResource -Tag @{ "CostCenter"="00123"}).Name
Para obter recursos com um nome de etiqueta específico com qualquer valor de etiqueta, utilize:
(Get-AzResource -TagName "Dept").Name
Para obter grupos de recursos com um nome e valor de etiqueta específicos, utilize:
(Get-AzResourceGroup -Tag @{ "CostCenter"="00123" }).ResourceGroupName
Remover etiquetas
Para remover etiquetas específicas, utilize Update-AzTag
e defina -Operation
como Delete
. Transmita os IDs de recurso das etiquetas que pretende eliminar.
$removeTags = @{"Project"="ECommerce"; "Team"="Web"}
$resource = Get-AzResource -Name demostorage -ResourceGroup demoGroup
Update-AzTag -ResourceId $resource.id -Tag $removeTags -Operation Delete
As etiquetas especificadas são removidas.
Properties :
Name Value
========== =====
CostCenter 00123
Para remover todas as etiquetas, utilize o comando Remove-AzTag .
$subscription = (Get-AzSubscription -SubscriptionName "Example Subscription").Id
Remove-AzTag -ResourceId "/subscriptions/$subscription"
Passos seguintes
- Nem todos os tipos de recursos suportam etiquetas. Para determinar se pode aplicar uma etiqueta a um tipo de recurso, veja Suporte de etiquetas para recursos do Azure.
- Para obter recomendações sobre como implementar uma estratégia de etiquetagem, veja Guia de decisão de nomenclatura de recursos e identificação.
- Para obter recomendações e limitações de etiquetas, veja Utilizar etiquetas para organizar os recursos do Azure e a hierarquia de gestão.