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

Apache Superset如何向URL传过滤参数及无iframe嵌入网页方法

Apache Superset 技术问题解答

1. 是否有方法可在Apache Superset中向URL传递过滤参数?

可以,Superset原生支持通过URL拼接参数实现仪表盘/图表的预过滤效果,具体操作规则如下:

  • 固定过滤参数名为preselect_filters,参数值为URL编码后的JSON格式内容
  • JSON结构的规则为:第一层key为目标仪表盘/图表的ID,第二层为过滤字段和对应值的键值对,示例未编码的原始JSON如下:
    {
      "123": {
        "region": ["华东"],
        "order_date": ["2024-01-01", "2024-06-30"]
      }
    }
    
  • 将上述JSON做URL编码后,拼接到仪表盘访问URL的末尾即可,完整示例格式:
    https://你的Superset部署地址/superset/dashboard/123/?preselect_filters=URL编码后的JSON内容
    
  • 注意:如果是公开分享的仪表盘,需要先开启对应资源的匿名访问权限,否则参数不会生效。

2. 能否不使用iframe将Apache Superset仪表盘展示在普通网页中?该场景下如何向URL传递参数?

可以实现非iframe嵌入,Superset 2.0及以上版本官方提供Embedded SDK支持原生嵌入,无需依赖iframe,操作逻辑如下:

  • 第一步:调整Superset服务配置,开启跨域访问:将配置项ENABLE_CORS设为True,并把你要嵌入仪表盘的业务网页域名添加到CORS_ORIGIN_WHITELIST配置列表中
  • 第二步:后端调用Superset的/api/v1/security/guest_token/接口生成访客令牌,请求参数中可直接指定过滤规则,规则和上述preselect_filters的JSON结构完全一致,无需通过URL传参
  • 第三步:前端业务页引入Superset Embedded SDK,调用embedDashboard方法,传入生成的访客令牌、目标仪表盘ID、页面容器DOM节点,即可直接渲染仪表盘

Embedded SDK仅支持Superset 2.0及以上版本,低于该版本的部署实例仍建议使用iframe嵌入方案

如果确实需要在非iframe场景下通过业务网页的URL传递过滤参数,可以先在业务前端读取URL上的自定义参数,将参数转换为Superset要求的过滤结构后,再传给生成访客令牌的接口即可。

内容的提问来源于stack exchange,提问作者Mohit Tiwari

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 04:57:04