Metabase静态嵌入参数配置完全指南
静态嵌入参数概述
在Metabase中,静态嵌入(也称为签名嵌入或独立嵌入)允许你将仪表板、图表等数据可视化组件无缝集成到自己的网站或应用中。通过URL参数,你可以精确控制嵌入内容的外观和行为。
参数类型详解
签名参数
签名参数必须通过服务器代码添加,主要用于数据过滤控制:
- 可编辑参数:允许终端用户在嵌入界面中通过过滤控件交互
- 锁定参数:在服务器端预先设置,限制嵌入数据的可见范围
非签名参数
非签名参数直接添加到iframe的src属性中,主要用于界面定制:
- 可编辑参数的默认值设置
- 过滤控件的可见性控制
- 界面外观定制选项
过滤控件配置实战
添加可编辑过滤控件
- 在仪表板或SQL问题中设置好过滤条件
- 进入"分享" > "嵌入到应用"界面
- 在参数部分找到你的过滤条件名称
- 为每个需要显示过滤控件的参数选择"可编辑"选项
- 发布更改并更新服务器代码
技术提示:当原始问题或仪表板要求必须提供过滤值时,你将无法禁用相关参数。
设置过滤控件默认值
通过URL参数语法设置默认值:
your_embed_url?parameter_name=value
多值设置示例:
your_embed_url?breakfast=Scrambled_eggs&lunch=Grilled_cheese
隐藏过滤控件
使用#hide_parameters语法隐藏特定控件:
your_embed_url#hide_parameters=breakfast
同时设置默认值并隐藏:
your_embed_url?breakfast=Scrambled_eggs#hide_parameters=breakfast
锁定参数高级应用
锁定参数是数据安全控制的重要手段:
- 在嵌入设置界面选择"锁定"选项
- 可预览锁定效果
- 发布后必须在服务器代码中包含这些参数
技术要点:
- 要禁用锁定参数,可在JWT中传递空数组
[]
- 修改过滤名称后必须同步更新服务器代码
- 多个锁定参数会以AND逻辑组合过滤
锁定参数与SQL问题的特殊注意事项
当锁定参数连接到包含SQL问题的仪表板时,每个锁定参数只能选择单个值。
界面定制技巧
通过URL哈希参数轻松定制嵌入外观:
your_embed_url#theme=night&bordered=false&titled=true
常用参数表:
| 参数名 | 可选值 | 说明 | |--------------|-------------------------|--------------------------| | background | true/false | 仪表板背景显示控制 | | bordered | true/false | 边框显示控制 | | locale | 语言代码(如ko) | 界面语言设置 | | theme | night/transparent/null | 主题设置 | | refresh | 整数(秒) | 仪表板自动刷新间隔 |
透明背景实现方案
- 仪表板:使用
background=false
- 问题:使用
theme=transparent
(已弃用但仍支持)
国际化与下载控制
多语言支持
通过locale
参数设置界面语言:
your_embed_url#locale=ko
注意:此参数仅影响界面文本,不影响数据内容本身的语言。
下载权限管理
禁用下载功能:
your_embed_url#downloads=false
性能与限制
- 最大URL长度受
MB_JETTY_REQUEST_HEADER_SIZE
环境变量控制(默认8192字节) - 超长URL会导致"URI too long"错误
- 使用中间服务器时可能需要额外配置
最佳实践建议
- 对于客户门户网站,优先考虑锁定参数确保数据隔离
- 构建自定义过滤控件时,利用锁定参数作为后端过滤机制
- 多租户系统中,使用租户ID作为锁定参数实现数据自动隔离
- 重要数据展示务必禁用下载功能
通过合理组合这些参数,你可以创建既美观又安全的数据嵌入解决方案,完美融入你的应用生态系统。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考