Compartilhar via


Aplicar tags com o Azure PowerShell

Este artigo descreve como usar o Azure PowerShell para marcar recursos, grupos de recursos e assinaturas. Para recomendações e limitações de tags, consulte Usar tags para organizar os recursos do Azure e a hierarquia de gerenciamento.

Aplicar tags

O Azure PowerShell oferece dois comandos para aplicar marcas: New-AzTag e Update-AzTag. Você precisa ter a Az.Resources versão do módulo 1.12.0 ou posterior. Você pode verificar sua versão com Get-InstalledModule -Name Az.Resources. Você pode instalar esse 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 o comando, passe a ID do recurso da entidade que você 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 tem duas tags.

Properties :
        Name    Value
        ======  =======
        Dept    Finance
        Status  Normal

Se você 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 tags existentes crescem com a adição das duas novas tags.

Properties :
        Name         Value
        ===========  ==========
        Status       Normal
        Dept         Finance
        Team         Compliance
        Environment  Production

Cada nome de tag pode ter apenas um valor. Se você fornecer um novo valor para uma etiqueta, ele substituirá o valor antigo, mesmo que você utilize a operação de mesclagem. O exemplo a seguir altera a Status marca 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 -Operation parâmetro 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 você deseja marcar.

Para adicionar um novo conjunto de tags 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 tags de 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 tags de uma assinatura, use:

$tags = @{"Team"="Web Apps"}
$subscription = (Get-AzSubscription -SubscriptionName "Example Subscription").Id
Update-AzTag -ResourceId "/subscriptions/$subscription" -Tag $tags -Operation Merge

Você pode ter mais de um recurso com o mesmo nome em um grupo de recursos. Nesse caso, você 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 marcas

Para obter as marcas de um recurso, grupo de recursos ou assinatura, use o comando Get-AzTag e passe a ID do recurso da entidade.

Para ver as tags de um recurso, use:

$resource = Get-AzResource -Name demostorage -ResourceGroup demoGroup
Get-AzTag -ResourceId $resource.id

Para ver as tags de um grupo de recursos, use:

$resourceGroup = Get-AzResourceGroup -Name demoGroup
Get-AzTag -ResourceId $resourceGroup.ResourceId

Para ver as tags de uma assinatura, use:

$subscription = (Get-AzSubscription -SubscriptionName "Example Subscription").Id
Get-AzTag -ResourceId "/subscriptions/$subscription"

Listar por marca

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

(Get-AzResource -Tag @{ "CostCenter"="00123"}).Name

Para obter recursos que tenham um nome de tag específico com qualquer valor de tag, use:

(Get-AzResource -TagName "Dept").Name

Para obter grupos de recursos que tenham 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 os identificadores de recurso das etiquetas que você 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