如何使用列表选项和 JMESPath (az-cli) 检测资源是否存在?
How to detect if a resource exists using list option and JMESPath (az-cli)?
如果给定的查询 returns 任何结果和基于该查询的分支,我正在尝试 detech。我正在使用 PowerShell,这很有效
(az network vnet list --query "[?name=='testvnet']" | ConvertFrom-Json).Length
但后来我想知道 JMESPath 是否可行,并尝试了
的变体
az network vnet list --query "length([?name=='testvnet'])"
但使用 JMESPath 似乎无法做到这一点。或者有什么办法吗?
根据 https://jmespath.readthedocs.io/en/stable/specification.html#length 上的文档,有一个名为 length
的函数,我知道它是这样工作的。
这个特定示例的错误是
az : az network vnet list: error: argument --query: invalid jmespath_type value: "length([?name=='testvnet']"
At line:1 char:1
+ az network vnet list --query "length([?name=='testvnet'])"
错误消息中缺少结束括号是可疑的。这可能是由于在 PowerShell 控制台中使用 az cli
。
你快到了。尝试
az network vnet list --query "[?name == 'testvnet'] | length(@)"
如果给定的查询 returns 任何结果和基于该查询的分支,我正在尝试 detech。我正在使用 PowerShell,这很有效
(az network vnet list --query "[?name=='testvnet']" | ConvertFrom-Json).Length
但后来我想知道 JMESPath 是否可行,并尝试了
的变体az network vnet list --query "length([?name=='testvnet'])"
但使用 JMESPath 似乎无法做到这一点。或者有什么办法吗?
根据 https://jmespath.readthedocs.io/en/stable/specification.html#length 上的文档,有一个名为 length
的函数,我知道它是这样工作的。
这个特定示例的错误是
az : az network vnet list: error: argument --query: invalid jmespath_type value: "length([?name=='testvnet']"
At line:1 char:1
+ az network vnet list --query "length([?name=='testvnet'])"
错误消息中缺少结束括号是可疑的。这可能是由于在 PowerShell 控制台中使用 az cli
。
你快到了。尝试
az network vnet list --query "[?name == 'testvnet'] | length(@)"