【问题标题】:How to query more than one tag in Azure Cli如何在 Azure Cli 中查询多个标签
【发布时间】:2018-04-18 18:26:53
【问题描述】:

我想查询 2 个或更多标签,然后使用这些标签重新启动特定 VM,以免重新启动不属于我的团队的 VM。

我当前的命令如下所示。这将使用重新启动标记 = 眼睛重新启动 VM。

if [[ $OPTION="start" ]];
then
    VM_IDS=(az resource list --tag Restart=yes --query "[?type=='Microsoft.compute/virtualMachines'].id" -o tsv)
    for id in $VM_IDS
    do
        echo "starting $id"
        az vm start --ids $id --no-wait
    done
fi

【问题讨论】:

  • 所以基本上你会想要所有的虚拟机都拥有一组给定的标签?
  • 我想要所有至少包含 2 个标签的虚拟机。例如:我想要带有标签 RESTART=yes 和 TEAM=Cloud 的 VM 列表。以免拉出只有 RESTART 标签的其他虚拟机。
  • 啊,虚拟机同时拥有。
  • 没错

标签: azure virtual-machine restart azure-cli


【解决方案1】:

--tag 单独不会给你这个,它只提供对single tag 的支持。

'key[=value]' 格式的单个标签。使用“”清除现有标签。

我建议寻找不同的解决方案,例如;寻找其他方法来唯一地识别您的虚拟机,执行两个单独的查询然后组合结果,使用 And expression 进行 JMESPath 查询,或者简单地将虚拟机 ID 硬编码到您的脚本中。

【讨论】:

  • 谢谢,这很有帮助。我会按照建议研究其他选项。
猜你喜欢
  • 1970-01-01
  • 2020-07-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-21
  • 1970-01-01
相关资源
最近更新 更多