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

Apache Superset权限资源API嵌套属性Rison过滤请求报错求助

问题:如何正确过滤permissions-resources API中的嵌套权限?

我正尝试为permissions-resources API端点应用过滤条件,通过_info端点获取可用过滤选项后,尝试多种Rison格式筛选嵌套的can_read权限,但所有请求均提示“The request was incorrectly performed”,希望得到正确过滤写法指导。


可用过滤选项(来自api/v1/security/permissions-resources/_info?q=(keys:!(filters)))

{"filters"=>
  {"permission"=> [
    {"name"=>"Relation", "operator"=>"rel_o_m"},
    {"name"=>"No Relation", "operator"=>"nrel_o_m"}
  ],
   "role"=>[
     {"name"=>"Relation as Many", "operator"=>"rel_m_m"}
   ],
   "view_menu"=>[
     {"name"=>"Relation", "operator"=>"rel_o_m"},
     {"name"=>"No Relation", "operator"=>"nrel_o_m"}
   ]
  }
}

无过滤返回示例(来自api/v1/security/permissions-resources/)

"result"=>
  [{"id"=>1, "permission"=>{"name"=>"can_read"}, "view_menu"=>{"name"=>"SavedQuery"}},
   {"id"=>2, "permission"=>{"name"=>"can_write"}, "view_menu"=>{"name"=>"SavedQuery"}},
   {"id"=>3, "permission"=>{"name"=>"can_read"}, "view_menu"=>{"name"=>"CssTemplate"}},
   {"id"=>4, "permission"=>{"name"=>"can_write"}, "view_menu"=>{"name"=>"CssTemplate"}},
....

尝试过的错误请求

api/v1/security/permissions-resources/?q=(filters:!((col:permission,opr:rel_o_m,value:can_read)))
# 尝试嵌套格式
api/v1/security/permissions-resources/?q=(filters:(permission:!((col:name,opr:rel_o_m,value:can_read))))
api/v1/security/permissions-resources/?q=(filters:(permission:!(col:name,opr:rel_o_m,value:can_read)))

正确的过滤写法

根据API提供的过滤规则,permission字段仅支持rel_o_m/nrel_o_m关联操作符,需要将value设置为匹配嵌套结构的对象,正确的请求URL如下:

api/v1/security/permissions-resources/?q=(filters:!((col:permission,opr:rel_o_m,value:(name:can_read))))

关键说明

  • col:permission 指定过滤的顶级字段为permission
  • opr:rel_o_m 使用API允许的关联操作符,用于匹配嵌套对象关系
  • value:(name:can_read) 传递嵌套的权限对象结构,让API精准匹配permission.name等于can_read的条目

内容的提问来源于stack exchange,提问作者Jonathon Batson

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 02:15:41