接口说明

有数支持自定义和指标系统(第三方指标数据), 该接口支持了从第三方同步指标元信息

基本信息
名称 参数
API /api/dash/mammutIndicator/sync
METHOD POST
请求参数

同步指标系统的数据分为三种情况, 全量同步, 单个指标信息同步 以及 删除指标信息

1. 批量同步 : 用于批量同步指标信息, 全量同步某一来源的指标信息;保存数组内的指标信息,同时删除有数属于该来源的其余指标信息。

字段名称 参数类型 参数说明
type String 标记同步的类型, 全量同步时为 full
source String 用于标记第三方来源
mammutIndicators Array\ 指标数组, 其中 MammutIndicator 为指标对象

2. 单个指标信息同步: 更新或新建某一个指标信息

字段名称 参数类型 参数说明
type String 标记同步的类型, 单个指标信息同步时为 single
source String 用于标记第三方来源
mammutIndicator MammutIndicator 指标对象: MammutIndicator

3. 删除指标信息: 根据 指标ID和来源 删除有数中的某一个指标信息

字段名称 参数类型 参数说明
type String 标记同步的类型, 删除指标信息时为 delete
source String 用于标记第三方来源
mammutIndicator MammutIndicator 指标对象: MammutIndicator

其中 MammutIndicator 的结构

字段名称 参数类型 参数说明
indicatorId Int 指标ID+source, 用于唯一标示
name String(Optional) 指标名称
caliber String(Optional) 业务口径
techCaliber String(Optional) 技术口径, 例如SQL等信息, 用于辅助了解指标信息
接口返回
// 成功
{ "code": 200 }
// 失败
{
    "code": 731,
    "message": "",    // 报错信息
}

全局搜索相关

开启全局搜索

在 yaml 中开启 mammutAdapter 模块,配置环境变量

env 注释
ENABLE_ES_SEARCH 'true' 开启搜索特性
ES_PROTOCOL http
ES_HOST es 有数 es 日志库的 host
ES_PORT 9200 数 es 日志库的 port

启动 ma 模块后,登录有数的超管账号,访问接口 /api/dash/es/refreshIndex,然后查看 ma 模块的日志,看是否开始正常索引了

根据字段名或报告名搜索报告接口

接口说明

根据报告名称或字段名称搜索报告

权限说明

使用 token 访问,只有超级管理员才能使用该接口

环境变量:

web 需要开启这两个环境变量

  ES_SEARCH_URL: http://es:9200
  ES_SEARCH_INDEX_NAME: youdata-private

基本信息

请求路径
API /api/dash/es/searchReport
请求方法 POST

请求参数

字段名称 参数类型 参数说明
token String 用于鉴权的Token
projectId Option(Number) 项目ID
reportKeyword Option(String) 报告名称关键字
measureKeyword Option(String) 度量字段关键字
dimensionKeyword Option(String) 维度字段关键字

请求参数示例

{
  "token": "1503575355359c4fdea8ec1683ed10edd91ae",
  "projectId": 2,
  "reportKeyword": "超市",
  "dimensionKeyword": "地区",
  "measureKeyword": "利润"
}

返回结果示例:

{
  "code": 200,
  "result": [
    {
      "reportName": "超市",
      "reportId": 134,
      "projectId": 2,
      "paths": [ // 文件夹路径
        "1112",
        "1"
      ],
      "creator": "admin",
      "createTime": "2017-12-29 14:40:22",
      "modifyTime": "2024-02-11 11:25:42",
      "status": "1",
      "componentHighlights": [
        {
          "componentId": "c-1-134-714-jj41rhts",
          "componentTitle": "利润(按地区划分)",
          "matchDimensions": [
            "地区"
          ],
          "matchMeasures": [
            "利润"
          ]
        }
      ],
      "webLink": "https://local.youdata.com:7007/dash/folder/2?rid=134",
      "mobileLink": "https://local.youdata.com:7007/dash/mobile/134",
      "integrationLink": "https://local.youdata.com:7007/dash/integration/2?rid=134"
    }
  ],
  "apiCost": 142,
  "logPath": "http://127.0.0.1:8009/operation/log/5n6kBKQgZ1yfbsWrtwrMYt"
}