我目前正在尝试过滤特定tag
值包含匹配值的位置,但是az resource list --query ""
似乎不喜欢我正在做的事情。
我正在执行的示例如下:
az resource list \
--resource-group "${resource_group}" \
--location "${location}" \
--query "[?contains(tags.Schedule, 'NOT_SET')].name
根据以上内容,您可以看到Schedule
资源上调用了一个标签,我正在尝试识别哪些 Azure 资源的标签值为NOT_SET
.
当不尝试在contains
不是子对象的输入数据上使用该函数时,这非常有效,例如以下非常有效:
az resource list \
--resource-group "${resource_group}" \
--location "${location}" \
--query "[?contains(name, 'myvm')].name
我浏览了 JMESPath 文档,该文档没有显示我在这里使用的特定案例。在谷歌上也有一些跑来跑去确定了一些可能性,例如;Azure Citadel - CLI 2.0 JMESPATH,它确实给出了不同类型查询的示例
az vm list --show-details --output json --query "[?ends_with(storageProfile.osDisk.managedDisk.storageAccountType, 'LRS')]"
这实际上有效,但是它与我正在查询az vm list
的相反。az resource list
任何额外的见解或正确方向的指针将不胜感激