你如何同时更新许多天蓝色标签?

Posted

技术标签:

【中文标题】你如何同时更新许多天蓝色标签?【英文标题】:How do you update many azure tags simultaneously? 【发布时间】:2022-01-17 07:54:13 【问题描述】:

我似乎能够找到单独更新每个资源标签的解决方案。但我不知道如何同时做很多标签。帮忙?

    Update-aztag Rest API

【问题讨论】:

你看到这篇文章了吗? ***.com/questions/57929322/… 或 ***.com/questions/57962737/… 这些帖子指向通过 for 循环的迭代,以将标签应用于每个资源。我正在寻找将它们同时应用于多个资源的修复程序。 【参考方案1】:

带有 ResourceId 的 Update-AzTag cmdlet 选择性地更新资源或订阅上的标签集。此操作允许替换、合并或有选择地删除指定资源或订阅上的标签。

“替换”选项将整个现有标记集替换为 新套装。 “合并”选项允许添加具有新名称的标签和 使用现有名称更新标签的值。 “删除”选项 允许根据给定名称或名称/值选择性地删除标签 对。

1.如果您想要替换订阅中所有资源的标签,您可以使用以下 PowerShell 脚本。

    connect-azaccount
    $replacedTags= @"key1"="value1"; "key3"="value3"
    $resourcelist= Get-AzResource
    foreach($item in $resourcelist)
        Update-Aztag -ResourceId $item.ResourceId -Tag $replacedTags -Operation Replace
    

这是示例输出供参考:

2.如果您想要替换特定标签,您可以参考下面的 PowerShell 脚本。

$replacedTags= @"key3"="value3"
$resourcelist= Get-AzResource

foreach($item in $resourcelist)
    
    $existtags=(Get-AzTag -ResourceId $item.ResourceId)
    if(($existtags.Properties.TagsProperty.Values -contains 'value1') -and ( $existtags.Properties.TagsProperty.Keys -contains 'key1'))
    
        Update-Aztag -ResourceId $item.ResourceId -Tag $replacedTags -Operation Replace
    

这是示例输出供参考:

3.如果您想要合并特定标签,可以参考下面的 PowerShell 脚本。

$mergedTags=@"key2"="value2"; "key3"="value3"
$resourcelist= Get-AzResource
foreach($item in $resourcelist)
    
    $existtags=(Get-AzTag -ResourceId $item.ResourceId)
    if(($existtags.Properties.TagsProperty.Values -contains 'key1') -and ( $existtags.Properties.TagsProperty.Keys -contains 'value1'))
    
        Update-AzTag -ResourceId $item.ResourceId -Tag $mergedTags -Operation Merge
    

这是供参考的示例输出:

【讨论】:

谢谢,但这些是用于选择性资源,问题是如何并行更新它们?我找到的每个解决方案都会导致每个资源的更新,这对于相对较大的租户来说需要很长时间。 如果您使用的是 Windows PowerShell 5.1,您希望并行执行任务,建议使用 ForEach -Parallel 这应该在 Windows Powershell 工作流中构建。这是参考documentation 了解更多信息。我们已经在本地环境中对此进行了测试,运行良好这里是截图供参考i.stack.imgur.com/lvmQu.png 如果您使用的是 Powershell7,您可以使用Foreach-object -parallel 来并行执行作业,这里是参考文档。 devblogs.microsoft.com/powershell/…

以上是关于你如何同时更新许多天蓝色标签?的主要内容,如果未能解决你的问题,请参考以下文章

如何更新绘图表达树状图以同时具有标签和绘图内的值?

如何同时更改文本字段和标签中的文本

向 ListBox 添加许多项目,同时保持 UI 响应

你真的了解Ajax吗?

天蓝色流分析同时结合数据

如何给div和p标签同时设置宽度为100%?