跳到主要内容

Looker API 总览

本文用于把「租户初始化 → 元数据建模 → 数据读写 → 视图/指标 → 看板」串成一条可落地的链路,并提供各接口文档的快速入口。

1. API 分层与网关前缀

  • 元数据服务(Metadata)
    • 网关前缀:${API_BASE}/metadata/...
    • 典型能力:租户运营、实体/字段/关系、视图/指标、UI Schema 覆盖层、资源权限、看板配置
  • 数据服务(Data)
    • 网关前缀:${API_BASE}/data/...
    • 典型能力:通用查询 DSL、变更 DSL、视图查询、指标查询

2. 端到端主链路(推荐)

2.1 创建租户并初始化样例(可选)

  1. 发送邮箱验证码
  • 文档:tenant-ops
  • 接口:POST /metadata/ops/tenants/email/verify/request
  1. 创建租户(验证码)
  • 文档: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(可选)

  1. 创建/更新 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/query
    • POST /data/query/validate
    • POST /data/query/explain

路径 B:视图查询(查询模板 + 参数化)

  • 文档:view-query
  • 接口:POST /data/views/{viewName}/query

2.8 指标查询(面向业务度量)

  • 文档:metric-query
  • 接口:
    • POST /data/metric/{metricName}/query
    • POST /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/rules
    • POST /metadata/rules/batch
    • POST /metadata/rules/evaluate
  • 说明:用于以 JSON 谓词树配置可解释规则,并提供在线试跑接口(evaluate)

3. 常见组合(建议)

  • 数据录入类应用:
    • 实体/字段(元数据)→ UI Schema 覆盖层(可选)→ Mutation 写入 → Query 列表/详情查询
  • 经营分析类应用:
    • 实体/关系 → 视图(模板化查询)→ 指标(可复用聚合口径)→ Dashboard 组件编排
  • 生产多租户 SaaS:
    • TenantOps → 初始化样例(可选)→ Resource Policy(对象/列/行级)→ 数据服务查询/变更