我正在编写一个简单的 az 命令来返回 AKS 的默认版本。我尝试了以下几种变体,但返回的结果集与我所追求的相反。关于 JSON 中的 JMESPath 过滤器表达式和布尔值,我有什么遗漏吗?
我原以为这两个命令应该只返回“默认”版本。相反,它们返回除默认值之外的所有值。
az aks get-versions -l $region --query "orchestrators[?default==true].[orchestratorVersion,default]" -o table
和
az aks get-versions -l $region --query "orchestrators[?default==true].{Version:orchestratorVersion,IsDefault:default}" -o table
最后我改用 !=null 过滤器,但想知道答案。
没有过滤器的数据
az aks get-versions -l $region --query "orchestrators[].{Version:orchestratorVersion,IsDefault:default}" -o json
如下:
[
{
"IsDefault": null,
"Version": "1.10.12"
},
{
"IsDefault": null,
"Version": "1.10.13"
},
{
"IsDefault": null,
"Version": "1.11.9"
},
{
"IsDefault": null,
"Version": "1.11.10"
},
{
"IsDefault": null,
"Version": "1.12.7"
},
{
"IsDefault": null,
"Version": "1.12.8"
},
{
"IsDefault": null,
"Version": "1.13.11"
},
{
"IsDefault": true,
"Version": "1.13.12"
},
{
"IsDefault": null,
"Version": "1.14.7"
},
{
"IsDefault": null,
"Version": "1.14.8"
},
{
"IsDefault": null,
"Version": "1.15.4"
},
{
"IsDefault": null,
"Version": "1.15.5"
}
]