Aplicar etiquetas con Azure PowerShell
En este artículo se describe cómo usar Azure PowerShell para etiquetar recursos, grupos de recursos y suscripciones. Para conocer las limitaciones y recomendaciones de las etiquetas, consulte Uso de etiquetas para organizar los recursos de Azure y jerarquía de administración.
Aplicación de etiquetas
Azure PowerShell ofrece dos comandos para aplicar etiquetas: New-AzTag y Update-AzTag. Debe tener el módulo Az.Resources
versión 1.12.0 o posterior. Puede consultar su versión con Get-InstalledModule -Name Az.Resources
. Puede instalar ese módulo o instalar Azure PowerShell versión 3.6.1 o posterior.
New-AzTag
reemplaza todas las etiquetas en el recurso, el grupo de recursos o la suscripción. Al llamar al comando, pase el id. de recurso de la entidad que desea etiquetar.
En el ejemplo siguiente se aplica un conjunto de etiquetas a una cuenta de almacenamiento:
$tags = @{"Dept"="Finance"; "Status"="Normal"}
$resource = Get-AzResource -Name demostorage -ResourceGroup demoGroup
New-AzTag -ResourceId $resource.id -Tag $tags
Cuando se complete el comando, observe que el recurso tiene dos etiquetas.
Properties :
Name Value
====== =======
Dept Finance
Status Normal
Si vuelve a ejecutar el comando, pero esta vez con etiquetas diferentes, observe que las etiquetas anteriores desaparecen.
$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 agregar etiquetas a un recurso que ya tiene etiquetas, use Update-AzTag
. Establezca el parámetro -Operation
en Merge
.
$tags = @{"Dept"="Finance"; "Status"="Normal"}
$resource = Get-AzResource -Name demostorage -ResourceGroup demoGroup
Update-AzTag -ResourceId $resource.id -Tag $tags -Operation Merge
Observe que las etiquetas existentes crecen con la adición de las dos nuevas etiquetas.
Properties :
Name Value
=========== ==========
Status Normal
Dept Finance
Team Compliance
Environment Production
Cada nombre de etiqueta solo puede tener un valor. Si proporciona un valor nuevo para una etiqueta, reemplaza el valor anterior incluso si se usa la operación de combinación. En el ejemplo siguiente la etiqueta Status
cambia de Normal a Green (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
Al establecer el parámetro -Operation
en Replace
, el nuevo conjunto de etiquetas reemplaza a las 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
Solo las etiquetas nuevas siguen en el recurso.
Properties :
Name Value
========== =========
CostCenter 00123
Team Web
Project ECommerce
Los mismos comandos también funcionan con grupos de recursos o suscripciones. Páselos en el identificador del grupo de recursos o de la suscripción que quiere etiquetar.
Para agregar un nuevo conjunto de etiquetas a un grupo de recursos, use:
$tags = @{"Dept"="Finance"; "Status"="Normal"}
$resourceGroup = Get-AzResourceGroup -Name demoGroup
New-AzTag -ResourceId $resourceGroup.ResourceId -tag $tags
Para actualizar las etiquetas de un grupo de recursos, use:
$tags = @{"CostCenter"="00123"; "Environment"="Production"}
$resourceGroup = Get-AzResourceGroup -Name demoGroup
Update-AzTag -ResourceId $resourceGroup.ResourceId -Tag $tags -Operation Merge
Para agregar un nuevo conjunto de etiquetas a una suscripción, use:
$tags = @{"CostCenter"="00123"; "Environment"="Dev"}
$subscription = (Get-AzSubscription -SubscriptionName "Example Subscription").Id
New-AzTag -ResourceId "/subscriptions/$subscription" -Tag $tags
Para actualizar las etiquetas de una suscripción, use:
$tags = @{"Team"="Web Apps"}
$subscription = (Get-AzSubscription -SubscriptionName "Example Subscription").Id
Update-AzTag -ResourceId "/subscriptions/$subscription" -Tag $tags -Operation Merge
Puede tener más de un recurso con el mismo nombre en un grupo de recursos. En ese caso, puede establecer cada recurso con los siguientes comandos:
$resource = Get-AzResource -ResourceName sqlDatabase1 -ResourceGroupName examplegroup
$resource | ForEach-Object { Update-AzTag -Tag @{ "Dept"="IT"; "Environment"="Test" } -ResourceId $_.ResourceId -Operation Merge }
Lista de etiquetas
Para obtener las etiquetas de un recurso, un grupo de recursos o una suscripción, use el comando Get-AzTag y pase el id. de recurso de la entidad.
Para ver las etiquetas de un recurso, use:
$resource = Get-AzResource -Name demostorage -ResourceGroup demoGroup
Get-AzTag -ResourceId $resource.id
Para ver las etiquetas de un grupo de recursos, use:
$resourceGroup = Get-AzResourceGroup -Name demoGroup
Get-AzTag -ResourceId $resourceGroup.ResourceId
Para ver las etiquetas de una suscripción, use:
$subscription = (Get-AzSubscription -SubscriptionName "Example Subscription").Id
Get-AzTag -ResourceId "/subscriptions/$subscription"
Enumerar por etiqueta
Para obtener recursos que tengan un nombre y valor de etiqueta específicos, use:
(Get-AzResource -Tag @{ "CostCenter"="00123"}).Name
Para obtener recursos que tengan un nombre de etiqueta específico y cualquier valor de etiqueta, use:
(Get-AzResource -TagName "Dept").Name
Para obtener grupos de recursos que tengan un nombre y valor de etiqueta específicos, use:
(Get-AzResourceGroup -Tag @{ "CostCenter"="00123" }).ResourceGroupName
Eliminación de etiquetas
Para quitar etiquetas específicas, use Update-AzTag
y establezca -Operation
en Delete
. Pase los identificadores de recursos de las etiquetas que desea eliminar.
$removeTags = @{"Project"="ECommerce"; "Team"="Web"}
$resource = Get-AzResource -Name demostorage -ResourceGroup demoGroup
Update-AzTag -ResourceId $resource.id -Tag $removeTags -Operation Delete
Se quitan las etiquetas especificadas.
Properties :
Name Value
========== =====
CostCenter 00123
Para quitar todas las etiquetas, use el comando Remove-AzTag.
$subscription = (Get-AzSubscription -SubscriptionName "Example Subscription").Id
Remove-AzTag -ResourceId "/subscriptions/$subscription"
Pasos siguientes
- No todos los tipos de recursos admiten etiquetas. Para determinar si se puede aplicar una etiqueta a un tipo de recurso determinado, consulte Tag support for Azure resources (Compatibilidad con etiquetas para los recursos de Azure).
- Para recomendaciones sobre cómo implementar una estrategia de etiquetado, consulte Guía de decisiones de nomenclatura y etiquetado de recursos.
- Para conocer las limitaciones y recomendaciones de las etiquetas, consulte Uso de etiquetas para organizar los recursos de Azure y jerarquía de administración.