【问题标题】:Assigning multiple tags to a resource via Azure CLI results in one big tag when using a variable使用变量时,通过 Azure CLI 将多个标签分配给资源会产生一个大标签
【发布时间】:2018-12-11 12:04:56
【问题描述】:

通过带有标签列表的 az cli (bash) 创建 VM 时。

先设置这个变量:
tags='env=qa servertype=frontend Distinct=qa-frontend25 CI=Yes DataDog:True'

但是在 bash 中运行以下命令时

az vm create ... --tags "${tags}"

它创建一个长标签,键为env,值为qa servertype=frontend Distinct=qa-frontend25 CI=Yes DataDog=True

来自 Azure CLI documentation

--tags
     Space-separated tags in 'key[=value]' format. 

这里缺少什么?

【问题讨论】:

  • 还有问题吗?或者,如果答案有帮助,您可以接受。

标签: azure azure-virtual-machine azure-cli


【解决方案1】:

如果你想为一个虚拟机创建多标签,你应该像这样添加参数--tags

--tags 'tag1=test1' 'tag2=test2'

结果如下:

它还显示在您提供的文档az vm create 中。你有误会。

--tags 'key[=value]' 格式的空格分隔标签。使用“”清除现有标签。

更新

是的,你可以在一个变量中设置多标签,然后像这样在命令中接受它:

tags="tag1=test1 tag2=test2"

az vm create -g resourceGroupName -n vmName --image image --tags $tags

它会很好地工作并回答@Johan,如果你删除引号它也可以。这是一个很好的问题。实际上,该变量在 CLI 命令中的工作方式如下:

--tags $tags -> --tags tag1=test1 tag2=test2

就像在 bash 中使用 echo $tags

【讨论】:

  • 我仍然希望使用上面的tags 变量。
  • 如果删除变量扩展周围的引号会发生什么?
  • 这在 Azure CLI 中似乎不起作用。如果我使用 --tags $tags (with $tags = "dev unit=it priority=low") 我会遇到与 OP 相同的问题,并且命令输出的输出显示:(snip) "tags": { "environment ": "dev unit=it priority=low" }, (snip) 如果我使用 --tags "dev unit=it priority=low" 那么标签设置正确,命令输出显示: (snip) "tags" : { "环境": "开发", "优先级": "低" }, (snip)
  • @Paul 我认为您在 Windows PowerShell 或命令行中使用 CLI。所以你需要按照Windows的规则来定义变量。
【解决方案2】:

没有你想的那么花哨,但这是我以前用过的一个,确认仍然有效。

tags1="tag1=test1"
tags2="tag2=test2"
az vm create -n MyVm2 -g MyResourceGroup --image UbuntuLTS --tags $tags1 $tags2

Image

还没有找到将标签分组到一个变量中的方法。

希望这会有所帮助。

【讨论】:

  • 这在 Azure CLI 中似乎不起作用。如果我使用 --tags $tags (with $tags = "tag1=value1 tag2=value") 我有与 OP 相同的问题,并且命令的输出显示:(snip) 如果我使用 --tags
【解决方案3】:

tags="tag1=test1 tag2=test2" 的问题似乎 Powershell 将此作为 1 个字符串传递给 az cli 命令,这样 az cli 不会将其视为“空格分隔的标签”,而是将其视为单个标记。
对我有用的解决方案是将 $tags 定义为一个数组。然后它很好地扩展了 az cli 来解释。像这样:
$Tags=@("Purpose=Demo","Created=$DateShort")
az --tags $Tags

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-09
    • 1970-01-01
    相关资源
    最近更新 更多