如何解决JMESPath 查询结合搜索与 ?并在 azure cloudshell bash cli 中包含关键字
我正在尝试编写一个 azure cli JMESPath 查询来输出包含单词 db
并且属于 osType
窗口的所有名称。
为此,我编写了以下查询,该查询通过调用名为 grep
的外部 bash 实用程序来工作。
但是我无法通过内置函数 contains
的 JMESPath 语言过滤来完成它。
这是一个有效的查询
az vm list --query "[?storageProfile.osdisk.osType=='Windows'].[name]" -o tsv | grep db
这是我尝试过但未能获得结果的查询:
az vm list --query "[?storageProfile.osdisk.osType=='Windows'].[?contains(name,'db')]" -o tsv
解决方法
您只需要使用 and expression:
给定查询:
[?storageProfile.osDisk.osType=='Windows' && contains(name,'db')].name
关于 JSON
[
{
"name": "db-of-windows-application","storageProfile": {
"osDisk": {
"osType": "Windows"
}
}
},{
"name": "db-of-linux-application","storageProfile": {
"osDisk": {
"osType": "Linux"
}
}
},{
"name": "I-am-not-the-database-you-are-looking-for","storageProfile": {
"osDisk": {
"osType": "Windows"
}
}
}
]
这将给出:
[
"db-of-windows-application"
]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。