Superset REST API 操作
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_1f020d8e/supersetapi。
技能介绍
要解决什么问题
在 Apache Superset 里改图表指标、筛选项或看板布局,如果只能点 UI 或依赖 SSH/MCP,很难和自动化脚本、对话式助手对齐。本技能把操作收敛到 Superset 原生 REST API:鉴权、读改写 chart、核对 dataset 列、理解 position_json 布局,全部走 HTTP。
核心能力与典型流程
连接与鉴权
- 先配置 Superset 基址,再调用登录接口拿到
access_token(约 15 分钟过期),后续请求在 Header 里带上。 - 凭证未提供时应向用户索取。
图表(Chart)
GET /api/v1/chart/{id}返回的result.params是 JSON 字符串,需json.loads()后再改。PUT更新会立即持久化;提交时params必须再json.dumps()成字符串,不能直接传对象。- 新建图表走
POST /api/v1/chart/。
数据集(Dataset)
- 改 metrics 前用
GET /api/v1/dataset/{id}核对result.columns里的column_name与类型。 - 可用
GET /api/v1/dataset/列举数据集。
看板(Dashboard)
GET /api/v1/dashboard/{id}的result.position_json描述布局;CHART节点的meta.chartId对应图表 ID。- 布局需遵守 ROOT → GRID → ROW → COLUMN → CHART 层级,每行 12 栅格;每个 CHART 必须有完整的 ROW/COLUMN 父链。
改图推荐步骤
- 鉴权取 token
- GET chart 读当前
params - 明确要改 metrics / filters / columns
- 若动 metrics,先 GET dataset 验列
- 修改 params 并 PUT chart
- 提示用户刷新看板
技能内还整理了常见 viz_type 的 params 模板(如 echarts_timeseries_bar、pie、big_number_total、table)以及 metric(单对象) 与 metrics(数组) 的对应关系(Superset 6.1)。
边界与注意点
- 文档标注为 已移除、勿用 的类型包括:
scatter_chart、dist_bar、heatmap、histogram、sankey、sunburst、treemap等旧 viz。 - SQL 表达式指标需按各图表类型字段约定填写;
table等类型无 metric 字段。 - 完整端点说明见技能附带的
reference.md,本介绍不替代官方 API 文档。
使用场景
- 数据集列名或类型变更后,需对多张 chart 执行 GET→改 `params` 里 metrics/filters→PUT,避免在 UI 里逐张重配。
- 用户在对话里提供 chart ID 与要改的指标或筛选项,助手按鉴权、读参、必要时 GET dataset 验列、再 PUT 并提示刷新看板。
- 新建或调整看板时,要解析 `position_json` 里 CHART 的 `meta.chartId`,并按 12 栅格 ROOT→GRID→ROW→COLUMN 层级补全布局节点。
- 按 Superset 6.1 的 `viz_type` 选用 pie 的 `metric` 或折线/柱状的 `metrics` 模板,POST 创建图表并核对 SQL 表达式指标字段。
适合人员
- 维护公司 Superset 集群、发版或迁库后需批量核对 dataset 列并改 chart params 的数据平台工程师
- 固定向业务交付 KPI/趋势看板、经常要改 `big_number_total` 或折线图 metrics 的 BI 或数据分析同学
- 把内部 Superset 接到对话或工单系统、用 HTTP 代用户改图而不是开 SSH/MCP 的数据应用或后端开发
- 用脚本按 `reference.md` 端点自动建表图、饼图并挂到看板 layout 的数据分析或报表自动化负责人