Looker API 总览
本文用于把「租户初始化 → 元数据建模 → 数据读写 → 视图/指标 → 看板」串成一条可落地的链路,并提供各接口文档的快速入口。
1. API 分层与网关前缀
- 元数据服务(Metadata)
- 网关前缀:
${API_BASE}/metadata/... - 典型能力:租户运营、实体/字段/关系、视图/指标、UI Schema 覆盖层、资源权限、看板配置
- 网关前缀:
- 数据服务(Data)
- 网关前缀:
${API_BASE}/data/... - 典型能力:通用查询 DSL、变更 DSL、视图查询、指标查询
- 网关前缀:
2. 端到端主链路(推荐)
2.1 创建租户并初始化样例(可选)
- 发送邮箱验证码
- 文档:tenant-ops
- 接口:
POST /metadata/ops/tenants/email/verify/request
- 创建租户(验证码)
- 文档:tenant-ops
- 接口:
POST /metadata/ops/tenants/seed-admin - 说明:异步初始化;
initSample=true时会播种样例元数据/数据
2.2 建模(两种方式)
方式 A:直接用实体/字段/关系接口(适合生产级精细建模)
方式 B:DataModel 生成模型(适合从 0 快速创建可用表结构)
- 文档:data-model
- 接口:
POST /metadata/models - 说明:会自动选择租户默认数据源
primary,并启用 DDL 创建
2.3 配置 UI(可选)
- 创建/更新 UI Schema 覆盖层
- 文档:ui-schemas
- 接口:
GET/POST/PUT/DELETE /metadata/ui-schema-overlays - 说明:当
schemaJson为空时,服务端可按实体字段生成默认 UI Schema
2.4 配置实体 Webhook(可选)
- 文档:webhooks
- 接口:
GET/POST/PUT/DELETE /metadata/entity-webhooks - 说明:为指定实体在 INSERT/UPDATE/UPSERT/DELETE 时配置变更 Webhook,支持重试与签名
2.5 配置权限(可选,但生产必做)
- 文档:resource-policies
- 接口:
POST /metadata/resource-policies及相关查询/更新 - 说明:
objectLevelPolicy:对象级(谁能对资源做什么)columnLevelPolicy:列级(字段可见性/脱敏)rowLevelPolicy:行级(RLS 谓词)
2.6 数据写入与变更
- 文档:mutation
- 接口:
POST /data/mutation/execute - 用途:insert/update/upsert/delete(可带
transaction=true)
2.7 数据查询(两条路径)
路径 A:通用查询 DSL
- 文档:query
- 接口:
POST /data/queryPOST /data/query/validatePOST /data/query/explain
路径 B:视图查询(查询模板 + 参数化)
- 文档:view-query
- 接口:
POST /data/views/{viewName}/query
2.8 指标查询(面向业务度量)
- 文档:metric-query
- 接口:
POST /data/metric/{metricName}/queryPOST /data/metric/query/batch
- 说明:服务端会把指标定义展开成 QueryRequest 并走统一查询执行路径
2.9 看板(Dashboard)
- 文档:dashboards
- 接口:
POST /metadata/dashboards(按 code upsert)GET /metadata/dashboards/by-code/{code}GET /metadata/dashboards/{id}GET /metadata/dashboards(分页)
2.10 配置与试跑规则引擎(可选)
- 文档:rules
- 接口:
GET/POST/PUT/DELETE /metadata/rulesPOST /metadata/rules/batchPOST /metadata/rules/evaluate
- 说明:用于以 JSON 谓词树配置可解释规则,并提供在线试跑接口(evaluate)
3. 常见组合(建议)
- 数据录入类应用:
- 实体/字段(元数据)→ UI Schema 覆盖层(可选)→ Mutation 写入 → Query 列表/详情查询
- 经营分析类应用:
- 实体/关系 → 视图(模板化查询)→ 指标(可复用聚合口径)→ Dashboard 组件编排
- 生产多租户 SaaS:
- TenantOps → 初始化样例(可选)→ Resource Policy(对象/列/行级)→ 数据服务查询/变更