azure - 如何在电源状态正在运行且特定标签为空的 Azure 中获取 VM 的 ID?
问题描述
因此,我试图获取所有订阅和区域中所有虚拟机的 ID,其中特定标记为空。为此,我使用以下命令
az vm list -d --query '[?!not_null(tags.run)]|[].id'
请注意:我只想在标签不存在时获取 id
请注意,当我使用“!”时,我需要使用单引号来覆盖查询。运算符对not_null()
函数求逆。如果我使用双引号,bash 会抛出event not found
错误。
所以现在问题出现了,当我还想添加一个条件来检查 VM 的当前状态并仅在它正在运行并且标签不存在时才返回 id。
az vm list -d --query '[?!not_null(tags.run)] | [?powerState=="VM running"].id'
在这里,我必须VM running
用双引号引起来,这给了我一个空输出,因为字符串不匹配,因为查询需要像这样的单引号 -
"[?powerState=='VM running'].id"
有人可以帮我解决这个问题吗?
解决方案
对VM 运行字符串使用原始字符串文字。您只需用反引号和双引号将字符串括起来。
az vm list -d --query '[?!not_null(tags.run)]|[?powerState==`"VM running"`].id'
推荐阅读
- mips - Mips SLL 算子
- r - 用函数编写绘图
- mql4 - 如何每天只计算一次指标缓冲区 mql4
- javascript - Swiper幻灯片自定义计数器(分数)
- c# - Unity 3D,即使Sprite不可见,我如何检测鼠标是否在2D Sprite上方
- python - 脏话过滤器会阻止不想要的单词 discord py
- excel - 在图表标签值前输入文本 (Excel VBA)
- automation - Mautic的备份和恢复
- python - 从存储为字符串的熊猫系列中提取元组列表
- javascript - 对于 2 个不同的元素,我有相同的 ngStyle。如何覆盖它们以保持代码干燥?