【问题标题】:STDIN is getting listed while listing Azure VMs, hence getting "invalid resource id" errorSTDIN 在列出 Azure VM 时被列出,因此出现“资源 ID 无效”错误
【发布时间】:2021-05-02 16:10:21
【问题描述】:

我使用以下命令列出并停止我帐户中的所有虚拟机。 正在列出虚拟机,但正在列出额外的 STDIN。 此 STDIN 导致错误 "invalid resource id"

我该怎么做才能忽略 STDIN??。非常感谢您的帮助。

az vm stop --ids $(az vm list --query "[].id" -o tsv) | grep -v "ABDK" 

谢谢

【问题讨论】:

  • 试试az vm stop --ids $(az vm list --query "[].id" -o tsv) | grep -v "ABDK" ?
  • @NancyXiong 我的错,我错过了 |在提问的同时。事实上,我们有它。还是一样的错误。

标签: azure-devops grep azure-virtual-machine


【解决方案1】:

如果你的意思是 STDIN 的 VM 名称,并且想要停止名称中不包含字符串 ABDK 的所有 VM,那么你只能像这样使用 CLI 命令:

az vm stop --ids $(az vm list --query "[?contains(@.name, 'ABDK')==\`false\`].id" -o tsv)

更新:

如果您在 Windows PowerShell 中运行 CLI 命令,则需要像这样更改命令:

az vm stop --ids $(az vm list --query "[?!contains(@.name, 'ABDK')].id" -o tsv)

【讨论】:

  • 我在使用这个命令时遇到了这个错误 InvalidArgumentValueError: argument --query: invalid jmespath_type value: "[?contains(@.name, 'ABDK')==\`false\`]。身份证”
  • @Mangaraju 您是否在 Windows PowerShell 中运行 CLI 命令?是的,那么你需要像更新一样更改命令。
  • 谢谢@Charles Xu 现在它给出了正确的列表。在 EOD 之前,我将尝试使用此方法停止 VM 并再次更新您。再次感谢
  • @Mangaraju 好吧,如果它适合你,请接受它。
猜你喜欢
  • 2022-11-04
  • 1970-01-01
  • 2023-03-29
  • 1970-01-01
  • 1970-01-01
  • 2022-12-02
  • 2021-11-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多