【发布时间】:2018-07-16 07:25:37
【问题描述】:
我目前正在尝试过滤特定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。
任何额外的见解或正确方向的指针将不胜感激
【问题讨论】:
标签: azure azure-cli azure-cli2