Použití značek s Azure PowerShell

Tento článek popisuje, jak používat Azure PowerShell k označování prostředků, skupin prostředků a předplatných. Doporučení a omezení značek najdete v tématu Použití značek k uspořádání prostředků Azure a hierarchie správy.

Použití značek

Azure PowerShell nabízí dva příkazy pro použití značek: New-AzTag a Update-AzTag. Musíte mít Az.Resources verzi modulu 1.12.0 nebo novější. Verzi můžete zkontrolovat pomocí příkazu Get-InstalledModule -Name Az.Resources. Můžete nainstalovat tento modul nebo nainstalovat Azure PowerShell verze 3.6.1 nebo novější.

Nahradí New-AzTag všechny značky prostředku, skupiny prostředků nebo předplatného. Při volání příkazu předejte ID prostředku entity, kterou chcete označit.

Následující příklad použije sadu značek na účet úložiště:

$tags = @{"Dept"="Finance"; "Status"="Normal"}
$resource = Get-AzResource -Name demostorage -ResourceGroup demoGroup
New-AzTag -ResourceId $resource.id -Tag $tags

Po dokončení příkazu si všimněte, že prostředek má dvě značky.

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

Pokud příkaz spustíte znovu, ale tentokrát s jinými značkami, všimněte si, že dřívější značky zmizí.

$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

Pokud chcete přidat značky k prostředku, který už značky obsahuje, použijte Update-AzTag. Nastavte -Operation parametr na Merge.

$tags = @{"Dept"="Finance"; "Status"="Normal"}
$resource = Get-AzResource -Name demostorage -ResourceGroup demoGroup
Update-AzTag -ResourceId $resource.id -Tag $tags -Operation Merge

Všimněte si, že stávající značky se zvětšují s přidáním dvou nových značek.

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

Každý název značky může mít jenom jednu hodnotu. Pokud pro značku zadáte novou hodnotu, nahradí starou hodnotu, i když použijete operaci sloučení. Následující příklad změní Status značku z Normální na Zelenou.

$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

Když nastavíte -Operation parametr na Replace, nahradí nová sada značek stávající značky.

$tags = @{"Project"="ECommerce"; "CostCenter"="00123"; "Team"="Web"}
$resource = Get-AzResource -Name demostorage -ResourceGroup demoGroup
Update-AzTag -ResourceId $resource.id -Tag $tags -Operation Replace

Na prostředku zůstanou jenom nové značky.

Properties :
        Name        Value
        ==========  =========
        CostCenter  00123
        Team        Web
        Project     ECommerce

Stejné příkazy fungují také se skupinami prostředků nebo předplatnými. Předejte je v identifikátoru skupiny prostředků nebo předplatného, které chcete označit.

Pokud chcete do skupiny prostředků přidat novou sadu značek, použijte:

$tags = @{"Dept"="Finance"; "Status"="Normal"}
$resourceGroup = Get-AzResourceGroup -Name demoGroup
New-AzTag -ResourceId $resourceGroup.ResourceId -tag $tags

Pokud chcete aktualizovat značky pro skupinu prostředků, použijte:

$tags = @{"CostCenter"="00123"; "Environment"="Production"}
$resourceGroup = Get-AzResourceGroup -Name demoGroup
Update-AzTag -ResourceId $resourceGroup.ResourceId -Tag $tags -Operation Merge

Pokud chcete do předplatného přidat novou sadu značek, použijte:

$tags = @{"CostCenter"="00123"; "Environment"="Dev"}
$subscription = (Get-AzSubscription -SubscriptionName "Example Subscription").Id
New-AzTag -ResourceId "/subscriptions/$subscription" -Tag $tags

Pokud chcete aktualizovat značky pro předplatné, použijte:

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

Ve skupině prostředků můžete mít více prostředků se stejným názvem. V takovém případě můžete jednotlivé prostředky nastavit pomocí následujících příkazů:

$resource = Get-AzResource -ResourceName sqlDatabase1 -ResourceGroupName examplegroup
$resource | ForEach-Object { Update-AzTag -Tag @{ "Dept"="IT"; "Environment"="Test" } -ResourceId $_.ResourceId -Operation Merge }

Výpis značek

Pokud chcete získat značky pro prostředek, skupinu prostředků nebo předplatné, použijte příkaz Get-AzTag a předejte ID prostředku entity.

Pokud chcete zobrazit značky prostředku, použijte:

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

Pokud chcete zobrazit značky pro skupinu prostředků, použijte:

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

Pokud chcete zobrazit značky předplatného, použijte:

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

Vypsat podle značky

Pokud chcete získat prostředky, které mají konkrétní název a hodnotu značky, použijte:

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

Pokud chcete získat prostředky, které mají konkrétní název značky s libovolnou hodnotou značky, použijte:

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

Pokud chcete získat skupiny prostředků, které mají konkrétní název a hodnotu značky, použijte:

(Get-AzResourceGroup -Tag @{ "CostCenter"="00123" }).ResourceGroupName

Odebrání značek

Pokud chcete odebrat konkrétní značky, použijte Update-AzTag a nastavte -Operation na Delete. Předejte ID prostředků značek, které chcete odstranit.

$removeTags = @{"Project"="ECommerce"; "Team"="Web"}
$resource = Get-AzResource -Name demostorage -ResourceGroup demoGroup
Update-AzTag -ResourceId $resource.id -Tag $removeTags -Operation Delete

Zadané značky budou odebrány.

Properties :
        Name        Value
        ==========  =====
        CostCenter  00123

Pokud chcete odebrat všechny značky, použijte příkaz Remove-AzTag .

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

Další kroky