You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure CLI中使用OData filter匹配子串过滤结果报错问题

解决az ad app list使用contains过滤报错的问题

问题根源

az ad app系列命令依赖的是Azure AD Graph API,而非你参考的Microsoft Graph API,两者对OData函数的支持存在差异——Azure AD Graph不支持contains()函数,这就是你收到错误提示的原因。

解决方案

方案1:使用Azure AD Graph支持的OData过滤函数

Azure AD Graph仅支持startswith()、eq等基础过滤函数,根据需求选择:

  • 匹配以指定字符串开头的应用名称:
    az ad app list --filter "startswith(displayName, 'some-name')"
    
  • 精确匹配应用名称:
    az ad app list --filter "displayName eq 'some-name'"
    

方案2:通过--query结合JMESPath实现任意子串匹配

如果需要做任意位置的子串匹配,可以利用Azure CLI内置的JMESPath查询能力,先拉取全量应用数据,再在本地过滤:

az ad app list --query "[?contains(displayName, 'some-name')]"

注:此方法会先获取所有应用数据到本地再过滤,适合应用数量较少的场景。

内容的提问来源于stack exchange,提问作者Bernard Halas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 14:46:00