反馈已提交

网络繁忙

您正在浏览的是 FineBI7.X 帮助文档,点击跳转至: FineBI6.X帮助文档

指标中心数据服务接口

  • 文档创建者:April陶
  • 历史版本:20
  • 最近更新:April陶 于 2026-01-28
  • 1. 概述

    1.1 版本

    FineBI 版本
    功能变动
    7.0.7
    -

    1.2 功能简介

    本文讲解 FineBI 中数据目录」搜索已发布的指标/维度/指标集信息查看与校验查询相关的 API 接口。

    配合 FineDataLInk 支持将接口中的指标维度数据取出,并写入指定的数据库,方便用户在其他系统使用指标中心的数据。

    1.3 前置条件

    需要先将查询并调用的指标中心数据需要先发布到「数据目录」。为在数据目录中调用接口查询指标中心数据做准备。

    2026-01-28_14-44-00.gif

    2. 认证方式

    • 获取接口信息前,需要先进行认证。推荐「摘要签名认证」,能提供更稳定的接口获取环境

    • 本文演示测试接口属于临时环境,使用的是 JWT 认证

    2.1 JWT认证

    使用平台 JWT 认证产生的用户 Token ,有效期跟随登录有效期。

    2.2 摘要签名认证

    1)摘要算法采用 HMAC-SHA256 ,指标中心提供 secretKey ,使用BI平台的 username 和 secretKey 一起制作签名。

    • username:BI平台的登录用户名

    • Secret Key:超管在平台「管理系统>系统管理>指标服务」中点击「生成Key」即可获取。如下图所示:

    注:该 Secret Key 仅超管有权限获取。

    2)制作签名认证

    • 签名生成:signature = HmacSHA256(用户名+随机数+时间戳, secretKey);使用base64编码

    • 在 Headers 中添加 Authorization: HMAC-SHA256 signature={签名},identity={用户名},nonce={随机数},timestamp={时间戳}

    示例:Authorization: HMAC-SHA256 signature=c4Q63zUQIXoBIwQQKq6jJpEZYD2DilQf/cYUS41MNqc=,identity=lucian,nonce=e7ec7bbc-5c8b-4076-a292-93165bd0ad0d,timestamp=1765334705601

    制作签名的过程可参考:

    import javax.crypto.Mac;
    import javax.crypto.spec.SecretKeySpec;
    import java.nio.charset.StandardCharsets;
    import java.util.Base64;
    import java.util.UUID;


    public class SignatureDemo {
       public static void main(String[] args) {
           //修改为BI平台中的username
           String identity = "qinghui";
           //修改为对应的secretKey
           String secretKey = "1bbe91b1-a39c-4742-9694-e126bcf9a3bd";
           //Nonce,自动生成
           String nonce = String.valueOf(UUID.randomUUID());
           //时间戳,自动生成
           String timestamp = String.valueOf(System.currentTimeMillis());
           //待签名字符串
           String stringToSign = identity + nonce + timestamp;
           //签名
           String signature = hmacSHA256(secretKey, stringToSign);
           //拼出完整的Authorization
           System.out.println("Authorization:\n" + "HMAC-SHA256 signature=" + signature + ",identity=" + identity + ",nonce=" + nonce + ",timestamp=" + timestamp);
       }

       /**
        * 对字符串data进行HmacSHA256签名,以Base64的结果返回
        *
        * @param secretKey 签名密钥
        * @param data      待签名字符串
        */
       public static String hmacSHA256(String secretKey, String data) {
           try {
               Mac hmacSha256 = Mac.getInstance("HmacSHA256");
               SecretKeySpec secretKeySpec = new SecretKeySpec(secretKey.getBytes(StandardCharsets.UTF_8), "HmacSHA256");
               hmacSha256.init(secretKeySpec);

               byte[] hashBytes = hmacSha256.doFinal(data.getBytes(StandardCharsets.UTF_8));

               return Base64.getEncoder().encodeToString(hashBytes);
           } catch (Exception e) {
               throw new RuntimeException("HmacSha error", e);
           }
       }
    }


    3. 接口信息

    以下是发布到「数据目录」中的指标/维度资源调用接口:

    类型接口
    描述
    搜索数据资源
    搜索资源同数据目录搜索
    查看指标语义信息查看指标属性同数据目录指标详情,包含基础信息、标签、扩展字段、计算口径等
    查看指标血缘同数据目录指标血缘
    查看相关维度同数据目录指标相关维度
    查看维度语义信息查看维度属性同数据目录维度详情,包含基础信息、标签、扩展字段、计算口径等
    查看维度血缘同数据目录维度血缘
    查看相关指标同数据目录维度相关指标
    查看维度值查看维度值同数据目录维度预览,支持分页、搜索
    数据查询获取指标的结果集同数据目录指标维度数据校验
    获取指标的查询sql

    获取直连查询SQL,了解指标查询的取数逻辑,方便进行数据校验以及性能调优

    4. 错误码说明

    响应失败部分场景会返回错误码信息,不同报错原因对应的错误码如下表所示:


    报错原因错误码
    参数异常61310024
    指标不存在61310111
    指标无权限61310112
    指标未发布61310119
    维度不存在61310113
    维度无权限61310114
    维度未发布61310120

    5. FDL读取指标中心数据并落库

    使用 FineDataLInk 将接口中的指标维度数据取出,并写入指定的数据库。其他系统即可直接使用指标中心的数据。数据库中取出的数据,如下图所示:

    详情请参见文档:FineDataLink读取指标中心数据并落库

    附件列表


    主题: 指标中心
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭



    AI

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持