数据集资源管理

本文为您介绍数据集资源管理下的API接口。

查询工作空间数据集列表

  • 接口路径/openapi/v2/dataset/list (GET)

  • 接口描述:获取指定空间的数据集列表,按照创建时间倒序排列

  • 版本起始:起始版本:独立部署v3.8.3

  • 输入参数

    参数名

    类型

    描述

    是否必须

    workspaceId

    string

    空间ID。

    directoryId

    string

    指定目录ID。若该字段不为空,则获取该目录下的所有数据集。

    withChildren

    boolean

    是否递归包好子目录下的数据集。

    true:返回directoryId目录下所有递归子目录下的数据集。

    false:仅返回directoryId指定目录下的数据集,不包含子目录下的。

    keyword

    string

    数据集名称搜索关键字

    pageNum

    int

    页码,默认1

    pageSize

    int

    页大小,默认10

  • 返回参数说明(SDK调用时,仅返回data部分):

    参数

    类型

    描述

    traceId

    string

    请求ID。

    code

    string

    抛错码。取值范围:

    • 0:调用成功

    • AEOE开头的异常码:调用失败

    message

    string

    抛错信息。取值范围:

    • success:调用成功

    • 其他信息:调用失败时的提示

    success

    boolean

    是否请求成功。取值范围:

    • true:请求成功

    • false:请求失败

    data

    object

    返回用户列表的分页结果,组织成员的详细信息列表存放在返回参数Data中。

    • totalNum

    int

    总行数。

    • totalPages

    int

    总页数。

    • pageSize

    int

    请求接口时设置的每页行数。

    • pageNum

    int

    页码。

    • data

    object

    数据集模型

    • datasetId

    string

    数据集ID。

    示例值:5820f58c-c734-4d8a-baf1-7979af4f****

    • datasetName

    string

    数据集名称。

    示例值:company_sales_record_copy12

    • rowLevel

    boolean

    是否开启行级权限。取值范围:

    • true:开启

    • false:关闭

    示例值:true

    • workspaceId

    string

    工作空间ID。

    • description

    string

    数据集备注。

    示例值:测试用数据集

    • createTime

    string

    创建时间。

    示例值:2020-11-02 10:36:05

    • ownerName

    string

    数据集拥有者的昵称。

    示例值:张三

    • workspaceName

    string

    工作空间名称。

    示例值:测试空间

    • ownerId

    string

    数据集拥有者在Quick BIUserID。

    示例值:136516262323****

    • modifyTime

    string

    修改时间。

    示例值:2020-11-02 10:36:05

    • openOfflineAcceleration

    boolean

    是否开启抽取加速

    • true:开启

    • false:关闭

    示例值:true

    • dataSource

    object

    数据集所属数据源信息。

    • dsType

    string

    数据源类型。

    示例值:mysql

    • dsName

    string

    数据源名称。

    示例值:测试数据源

    • dsId

    string

    数据源ID。

    示例值:261b252d-c3c3-498a-a0a7-5d1ec6cd****

    • directory

    object

    数据集所处目录信息。

    • pathId

    string

    所处目录路径的ID。

    示例值:schemaad8aad00-9c55-4984-a767-b4e0ec60****

    • pathName

    string

    所处目录路径的名称。

    示例值:我的数据集目录

    • name

    string

    目录名称。

    示例值:我的数据集目录

    • id

    string

    目录ID。

    示例值:schemaad8aad00-9c55-4984-a767-b4e0ec60****

  • 返回参数:

    {
    	"requestId": "7F820282-DC21-****-8256-6D177EFF9CE1",
    	"result": {
    		"data": [{
    			"createTime": "2024-02-27 09:42:47",
    			"dataSource": {
    				"dsId": "dae6c49f-9f3a-****-9a61-403f0531bca1",
    				"dsType": "api_datasource"
    			},
    			"datasetId": "758add3e-33a1-****-8086-a25a07739ae3",
    			"datasetName": "API_test",
    			"directory": {
    				"id": "3ce1c251-1d10-****-8fe1-093d25be135a",
    				"name": "数据集勿动",
    				"pathId": "3ce1c251-1d10-****-8fe1-093d25be135a",
    				"pathName": "数据集勿动"
    			},
    			"modifyTime": "2024-02-27 09:44:52",
    			"openOfflineAcceleration": false,
    			"ownerId": "74f55****6d14e9892245320ebf27***",
    			"ownerName": "张三",
    			"rowLevel": false,
    			"workspaceId": "a1c8ab4d-74ab-****-8f63-9fec14d810d0",
    			"workspaceName": "空间成员1万多人"
    		}],
    		"pageNum": 1,
    		"pageSize": 10,
    		"totalNum": 18,
    		"totalPages": 2
    	},
    	"success": true
    }
  • Java SDK 示例:

    private static void testQueryDatasetList() throws SDKException {
        HttpRequest request = HttpRequest.build()
            .setUri("/openapi/v2/dataset/list")
            .setMethod(HttpMethod.GET);
        request.addParameter("workspaceId", "c5f86ad2-*");
        //request.addParameter("directoryId", "3ff361ec-*");
        //request.addParameter("withChildren", false);
        //request.addParameter("keyword", "测试");
        request.addParameter("pageNum", 1);
        request.addParameter("pageSize", 100);
        String result = client.syncExecute(request);
        System.out.println(result);
    }

查询数据集详情

  • 接口路径/openapi/v2/dataset/infoNew (GET)

  • 接口描述:获取指定数据集的详情,包括所属数据源、目录、以及数据集模型(包含维度、度量、物理字段、自定义SQL文本、关联关系等信息)

  • 版本起始:起始版本:独立部署v4.0.2

  • 输入参数

    参数名

    类型

    描述

    是否必须

    datasetId

    string

    数据集ID

  • 返回参数说明(SDK调用时,仅返回data部分):

    参数

    数据类型

    描述

    traceId

    string

    请求ID。

    code

    string

    抛错码。取值范围:

    • 0:调用成功

    • AEOE开头的异常码:调用失败

    message

    string

    抛错信息。取值范围:

    • success:调用成功

    • 其他信息:调用失败时的提示

    success

    boolean

    是否请求成功。取值范围:

    • true:请求成功

    • false:请求失败

    data

    object

    返回接口执行结果。

    • datasetId

    string

    数据集id。

    • datasetName

    string

    数据集名称。

    • cubeTableList

    object [ ]

    数据集关联物理表列表。

    • datasourceId

    string

    数据源ID。

    • dsType

    string

    数据源类型。

    • uniqueId

    string

    唯一ID。

    • caption

    string

    显示名。

    • tableName

    string

    物理表名称。

    • factTable

    boolean

    是否主表。

    • isCustomsql

    boolean

    是否是自定义SQL数据集

    • sql

    string

    自定义SQL数据集的SQL。

    • measureList

    object [ ]

    度量字段列表。

    • tableUniqueId

    string

    对应表唯一ID。

    • uid

    string

    度量唯一ID.

    • caption

    string

    显示名称。

    • dataType

    string

    数据类型。取值范围:

    • 字符串:string

    • 数字:number

    • 日期:datetime

    • measureType

    string

    度量类型。取值范围:

    • STANDARD_MEASURE:普通度量

    • CALCULATE_MEASURE:计算度量

    • expression

    string

    计算度量的表达式;仅对计算度量有效。

    • expressionV2

    string

    平铺的计算字段表达式。

    • factColumn

    string

    实际物理字段。

    • fieldDescription

    string

    字段描述信息。

    • dimensionList

    object [ ]

    维度字段列表。

    • tableUniqueId

    string

    对应表唯一ID。

    • uid

    string

    度量唯一ID。

    • caption

    string

    显示名称。

    • dataType

    string

    数据类型。取值范围:

    • 字符串:string

    • 数字:number

    • 日期:datetime

    • refUid

    string

    分组度量,引用的字段唯一ID。

    • granularity

    string

    日期维度和地理维度的粒度。

    • expression

    string

    计算维度的表达式;仅对计算维度有效。

    • expressionV2

    string

    平铺的计算字段表达式。

    • factColumn

    string

    实际物理字段。

    • dimensionType

    string

    维度类型。

    • 普通维度:STANDARD_DIMENSION

    • 计算维度:CALCULATE_DIMENSION

    • 分组维度:GROUP_DIMENSION

    • dsId

    string

    数据源ID。

    • gmtCreate

    string

    数据集创建时间戳。

    • ownerName

    string

    数据集所有者名称。

    • ownerId

    string

    数据集所有者UserID。

    • dsName

    string

    数据源名称

    • directory

    string

    数据集目录信息

    • id

    string

    目录ID

    • name

    string

    目录名称

    • pathId

    string

    目录ID的路径,例如:aa/bb/cc/dd

    • pathName

    string

    目录ID的路径名称,例如:一层目录/二层目录

    • dsType

    string

    数据源类型。

    • workspaceName

    string

    所在工作空间名称。

    • workspaceId

    string

    所在工作空间ID。

    • custimzeSql

    boolean

    是否自定义SQL。

    • modifierName

    string

    数据集最后修改者的名称。

    • modifierId

    string

    数据集最后的所有者ID。

    • rowLevel

    boolean

    行级权限是否开启。

    • gmtModify

    string

    数据集最后修改的时间戳。

    • OpenOfflineAcceleration

    boolean

    是否开启抽取加速

    • true:开启

    • false:关闭

    示例值:true

  • 返回参数:

    {
        "rowLevel": false,
        "gmtModify": 1720754891000,
        "dsName": "Demo数据库",
        "dsId": "67727257-a475-****-9b12-cc22f7aa2a0f",
        "datasetName": "company_sales_record_update1123456",
        "dsType": "mysql",
        "placeholders": [
            {
                "defaultValue": [
                    "'a' = 'a'"
                ],
                "name": "shipping_type_ph",
                "style": "param",
                "useInGlobal": true,
                "type": "string",
                "uniqueId": "794f80****"
            },
            {
                "name": "shipping_type_ph1",
                "style": "placeholder",
                "useInGlobal": false,
                "type": "string",
                "uniqueId": "7c052e****"
            },
            {
                "name": "shipping_type_ph2",
                "style": "placeholder",
                "useInGlobal": false,
                "type": "string",
                "uniqueId": "87a8aa****"
            },
            {
                "name": "order_amt_ph",
                "style": "placeholder",
                "useInGlobal": false,
                "type": "number",
                "uniqueId": "f1115e****"
            },
            {
                "originalType": "dateRange",
                "defaultValue": [
                    "2020-01",
                    "2022-10"
                ],
                "name": "shipping_date_ph",
                "format": "YYYY-MM",
                "style": "placeholder",
                "useInGlobal": true,
                "type": "monthRegion",
                "uniqueId": "7485e3****"
            },
            {
                "name": "area_province_city_ph",
                "conditionPlaceHolderFields": [
                    {
                        "column": "area1",
                        "uniqueId": "a35777****"
                    },
                    {
                        "column": "province1",
                        "uniqueId": "21e95a****"
                    },
                    {
                        "column": "11city123",
                        "uniqueId": "1bbc04****"
                    }
                ],
                "style": "condition",
                "useInGlobal": false,
                "type": "string",
                "uniqueId": "03f99b****"
            }
        ],
        "ownerId": "7856b****92847bcb9ec5bf1b19fe6bb",
        "gmtCreate": 1720751851000,
        "openOfflineAcceleration": false,
        "ownerName": "gengnan.wy",
        "datasetId": "c0f8a3f6-890f-****-a47f-959346b1b17d",
        "workspaceName": "示例工作空间",
        "dimensionList": Array[32],
        "cubeTableList": Array[1],
        "workspaceId": "8d829c5e-1604-****-b053-0a9f45d34803",
        "measureList": Array[5]
    }
  • Java SDK 示例:

    private static void testQueryDatasetInfo() throws SDKException {
        HttpRequest request = HttpRequest.build()
            .setUri("/openapi/v2/dataset/infoNew")
            .setMethod(HttpMethod.GET);
        request.addParameter("datasetId", "a201c85c-*");
        String result = client.syncExecute(request);
        System.out.println(result);
    }

查询数据集已授权使用的用户列表(考虑授权范围)

  • 接口路径/openapi/v2/dataset/share/grantedListGET

  • 接口描述:查询数据集所在工作空间内已授权使用的用户列表,或空间内未授权的用户列表。

  • 起始版本: 独立部署3.12.1

  • 输入参数

    参数

    类型

    描述

    是否必选

    grantType

    boolean

    查询模式:

    • true:查询已授权用户列表。

    • false:查询未授权用户列表。

    worksId

    String

    数据集的ID。

    keyword

    String

    账户或者昵称的模糊搜索关键字。

    主要搜索字段:accountName/nickName。

    pageNum

    int

    页数。

    默认为1。

    pageSize

    int

    页码。

    默认为10。

  • 返回参数说明(SDK调用时,仅返回data部分):

    参数

    类型

    描述

    traceId

    string

    请求ID。

    code

    string

    抛错码。取值范围:

    • 0:调用成功

    • AEOE开头的异常码:调用失败

    message

    string

    抛错信息。取值范围:

    • success:调用成功

    • 其他信息:调用失败时的提示

    success

    boolean

    是否请求成功。取值范围:

    • true:请求成功

    • false:请求失败

    data

    object

    授权用户分页列表。

    • totalNum

    int

    总行数。

    • totalPages

    int

    总页数。

    • pageSize

    int

    请求接口时设置的每页行数。

    • pageNum

    int

    页码。

    • data

    object [ ]

    授权用户列表。

    • nickname

    string

    用户昵称。

    • worksId

    string

    作品ID。

    • userId

    string

    用户的UserID。

  • 返回参数

    {
        "data": [
            {
                "worksId": "539c5512-*****9",     //数据集ID
                "nickname": "我就是那个分析师大神",     //授权对象昵称    
                "userId": "de4bc5f9*****5"     //授权对象Quick BIUserID
            }
        ],
        "totalNum": 1,
        "totalPages": 1,
        "start": 0,
        "pageSize": 10,
        "pageNum": 1
    }
  • Java SDK 示例:

    private static void testGetUsers() throws SDKException {
        HttpRequest request = HttpRequest.build()
            .setUri("/openapi/v2/dataset/share/grantedList")
            .setMethod(HttpMethod.GET);
        request.addParameter("grantType", "true");
        request.addParameter("worksId", "a201c85c-*");
        request.addParameter("keyword", "");
        request.addParameter("pageNum", "1");
        request.addParameter("pageSize", "10");
        String result = client.syncExecute(request);
        System.out.println(result);
    }

数据集新增使用授权(支持批量)

  • 接口路径/openapi/v2/dataset/share/authorizePOST

  • 接口描述:数据集授权给所处的工作空间,或者数据集授权给工作空间内的指定用户,支持批量。

  • 起始版本: 独立部署3.12.1

  • 输入参数:(content-type:application/x-www-form-urlencoded;charset=UTF-8,参数以表单提交)

    参数

    类型

    描述

    是否必选

    grantType

    boolean

    授权模式:

    • true:授权给所处的工作空间。

    • false:授权给工作空间内的指定用户。

    worksId

    String

    数据集的ID。

    shareToUserIds

    String

    被授权的用户ID,批量授权时用半角逗号(,)隔开。

    否,

    仅在grantType=false时有效。

  • 返回参数说明(SDK调用时,仅返回data部分):

    参数

    类型

    描述

    traceId

    string

    请求ID。

    code

    string

    抛错码。取值范围:

    • 0:调用成功

    • AEOE开头的异常码:调用失败

    message

    string

    抛错信息。取值范围:

    • success:调用成功

    • 其他信息:调用失败时的提示

    success

    boolean

    是否请求成功。取值范围:

    • true:请求成功

    • false:请求失败

    data

    boolean

    是否执行成功。取值范围:

    • true:执行成功

    • false:执行失败

  • 返回参数

    {
        "traceId": "ccc2c13b-fd40-****-bc33-1d66c30ec828",
        "code": null,
        "message": null,
        "data": true,
        "success": true
    }
  • Java SDK示例:

        private static void testAuthorize() throws SDKException {
            HttpRequest request = HttpRequest.build()
                .setUri("/openapi/v2/dataset/share/authorize")
                .setMethod(HttpMethod.POST);
            request.addParameter("grantType", "false");
            request.addParameter("worksId", "a201c85c-*");
            request.addParameter("shareToUserIds", "f5698b***,6afccd9e434a***");
            String result = client.syncExecute(request);
            System.out.println(result);
        }

数据集使用授权删除(批量支持)

  • 接口路径/openapi/v2/dataset/share/unAuthorizePOST

  • 接口描述:数据集取消授权给所处的工作空间,或者数据集取消授权给工作空间内的指定用户,支持批量。

  • 起始版本: 独立部署3.12.1

  • 输入参数:(content-type:application/x-www-form-urlencoded;charset=UTF-8,参数以表单提交)

    参数

    类型

    描述

    是否必选

    grantType

    boolean

    授权模式:

    • true:取消授权给所处的工作空间。

    • false:取消授权给工作空间内的指定用户。

    worksId

    String

    数据集的ID。

    shareToUserIds

    String

    取消授权的用户ID,批量授权时用半角逗号(,)隔开。

    否,

    仅在grantType=false时有效。

  • 返回参数说明(SDK调用时,仅返回data部分):

    参数

    类型

    描述

    traceId

    string

    请求ID。

    code

    string

    抛错码。取值范围:

    • 0:调用成功

    • AEOE开头的异常码:调用失败

    message

    string

    抛错信息。取值范围:

    • success:调用成功

    • 其他信息:调用失败时的提示

    success

    boolean

    是否请求成功。取值范围:

    • true:请求成功

    • false:请求失败

    data

    boolean

    是否执行成功。取值范围:

    • true:执行成功

    • false:执行失败

  • 返回参数

    {
        "traceId": "ccc2c13b-fd40-****-bc33-1d66c30ec828",
        "code": null,
        "message": null,
        "data": true,
        "success": true
    }
  • Java SDK示例:

        private static void testAuthorize() throws SDKException {
            HttpRequest request = HttpRequest.build()
                .setUri("/openapi/v2/dataset/share/unAuthorize")
                .setMethod(HttpMethod.GET);
            request.addParameter("grantType", "false");
            request.addParameter("worksId", "a201c85c-*");
            request.addParameter("shareToUserIds", "f5698b***,6afccd9e434a***");
            String result = client.syncExecute(request);
            System.out.println(result);
        }

根据数据源和物理表名称创建数据集

  • 接口路径:/openapi/v2/dataset/create(POST)

  • 接口描述:根据数据源和物理表名称创建数据集。

  • 版本起始:起始版本:独立部署v4.3.1.1

  • 输入参数:(content-type:application/json;charset=UTF-8,参数以JSON对象格式附录在http body中)

    重要

    注意:同一空间下,如自身已创建相同数据源和物理表参数的数据集,会返回已有数据集的cubeId!

    参数名

    类型

    描述

    是否必须

    dsId

    string

    数据源ID

    tableName

    string

    物理表的名称

    userDefineCubeName

    string

    数据集名称

    (只允许输入的字符为中英文、数字及下划线、斜线、反斜线、竖线、小括号、中括号、减号、加号组成,最大字节长度100)

    workspaceId

    string

    所属空间 ID

    userId

    string

    Quick BI 用户ID

    targetDirectoryId

    string

    文件夹目录id(创建到指定目录),不传则默认根目录。

  • 输入参数JSON示例:

    {
      "dsId":"23d33abf-****-****-b7d7-d962d7a5f6f1",
      "tableName":"test",
      "userDefineCubeName":"测试数据集",
      "workspaceId":"87f73904-****-****-b1ee-5a3a03a8eb45",
      "userId":"fec074144320****b1905061e6a951a2",
      "targetDirectoryId":"388b865a-2df7-****-93f0-cb2ced724d70"
    }
  • 返回参数说明(SDK调用时,仅返回data部分):

    参数

    数据类型

    描述

    traceId

    string

    请求ID。

    code

    string

    抛错码。取值范围:

    • 0:调用成功

    • AEOE开头的异常码:调用失败

    message

    string

    抛错信息。取值范围:

    • success:调用成功

    • 其他信息:调用失败时的提示

    success

    boolean

    是否请求成功。取值范围:

    • true:请求成功

    • false:请求失败

    data

    boolean

    是否执行成功。取值范围:

    • true:执行成功

    • false:执行失败

  • 返回参数:

    {
      "traceId":"235c9fa8-d6f5-****-a6d4-38f07b2319ce",
      "code":"0",
      "message":"f441dad7-6878-****-9ad1-84ff92c7d971",
      "success":true,
      "data":true
    }
  • JAVA SDK 示例:

    public static void create() throws SDKException {
        HttpRequest request = HttpRequest.build()
            .setUri("/openapi/v2/dataset/create")
            .setMethod(HttpMethod.POST);
        request.addParameter("dsId","xxx");
        request.addParameter("tableName","xxx");
        request.addParameter("userDefineCubeName","xxx");
        request.addParameter("workspaceId","xxx");
        request.addParameter("userId","xxx");
        request.addParameter("targetDirectoryId","388b865a-2df7-4b39-93f0-cb2ced724d70");
        String result = openApiClient.syncExecute(request);
        System.out.println(result);
    }

新建数据源

  • 接口路径:/openapi/v2/datasource/add (POST

  • 请求参数:新建数据源。

  • 版本起始:独立部署4.3.1.1

  • 输入参数:

    说明

    同一空间下,如自身已创建相同连接信息的数据源,会返回已有数据源的dsId!

    参数名称

    类型

    是否必填

    描述

    userId

    String

    用户id。

    workspaceId

    String

    空间id。

    showName

    String

    数据源显示名称

    (只允许输入的字符为中英文、数字及下划线、斜线、反斜线、竖线、小括号、中括号组成,最大字节长度50)。

    address

    String

    数据库连接串地址(域名或ip)。

    port

    String

    端口。

    schema

    String

    数据库 schema,仅对支持schema的数据库需要设置

    example:sqlserver 默认使用dbo;mysql不支持schema。

    dsType

    String

    数据源类型。

    username

    String

    数据库用户名/ak。

    password

    String

    数据库秘密钥。

    instance

    String

    实例db。

    project

    String

    项目名称,仅odps数据库需要传入。

    config

    Json

    数据库额外配置项。

    noSasl

    boolean

    impala数据源是否需要身份验证即可登录:true-需要账户密码登录 false-不需要验证(默认)

    encoded

    boolean

    用户名、密码等是否加密传输

    parentDsType

    String

    多引擎数据源的主数据源类型。非必填,可不传,代表普通数据源。

    取值范围:

    • dataphin

    输入参数示例:

    • abd

      {
        "showName":"分析型数据库adb3.0",
        "address":"",
        "port": 3306,
        "dsType":"adb",
        "username":"xxx",
        "password":"xxx",
        "schema": null,
        "instance":"test",
        "workspaceId":"xxx",
        "userId":"xxx",
      }
    • MaxCompute

      {
        "showName":"maxcompute",
        "address":"http://service.xxx.xxx.com/api",
        "port": null,
        "dsType":"odps",
        "username":"LTAI****************", // 对应 accessId
        "password":"yourAccessKeySecret", // 对应 accessKey
        "schema": null,
        "instance": "项目名称", // 对应 project
        "project": "项目名称", // (新增)
        "config": null,
        "workspaceId":"xxx",
        "userId":"xxx",
      }
    • hive

      {
      		"showName": "test",  
          "address": "192.168.0.1",
          "port": "10000",
        	"dsType": "hive",
          "instance": "hive", // 对应数据库名称
          "userName": "xxx",
          "password": "xxx",
          "config": {
              "category": "local"
          }
      }
    • gbase

      {
          "showName": "test",
          "address": "192.168.0.1",
          "port": "5258",
          "dsType": "gbase",
          "instance": "quickbi_test",
          "username": "root",
          "password": "root",
          "config": {
              "category": "local"
          },
          "workspaceId": "xxx",
          "userId": "xxx"
      }
    • rds-mysql

      {
        "showName":"mysql",
        "address":"",
        "port": 3306,
        "dsType":"mysql",
        "username":"xxx",
        "password":"xxx",
        "schema": null,
        "instance":"test",
        "workspaceId":"xxx",
        "userId":"xxx",
      }
    • hologres

      {
          "showName": "Hologres数据源",
          "address": "hgprecn-cn-******-cn-shanghai.hologres.aliyuncs.com",
          "instance": "quickbi_test",
          "schema": "publick",
          "port": "80",
          "dsType": "hologres",
          "userId": "fec0741*****061e6a951a2",
          "config": {
              "initialSql": "Set timezone = '-10'"  // @ind4.4.X.X 支持初始化sql
          },
          "workspaceId": "87f73904-****-****-b1ee-5a3a03a8eb45",
          "username": "LTAI****************" // 对应 accessId
          "password": "yourAccessKeySecret", // 对应 accessKey
      }
    • impala(ldap认证)

      {
          "workspaceId": "87f73904-****-****-b1ee-5a3a03a8eb45",
          "userId": "fec0741*****061e6a951a2",
          "dsType":  "impala",
          "config":  {
              "category":  "local",
              "resource":  "ecs",
              "ssl":  false
          },
          "showName":  "impala-ldap",
          "address":  "xx.xx.xx.xx",
          "port":  "xxxx",
          "instance":  "default",
          "dsVersion":  "3.x",
          "username":  "xxxxx",
          "password":  "xxxxxxxxx",
          "instanceId":  "i-uf6fxxxxxbt3eh6lb",
          "noSasl":  true,
          "encoded":  true
      }
    • dataphin(连接方式:Dataphin服务数据源;引擎类型:odps)

      {
          "workspaceId": "87f73904-****-****-b1ee-5a3a03a8eb45",
          "userId": "fec0741*****061e6a951a2",
          "dsType":  "dataphin_odps",
          "address":  "f6c64214dc27400xxxxxx-cn-shanghai.alicloudapi.com",
          "username":  "20xxx18",
          "password":  "33paqqexxxxg07qzj28",
          "instance":  "test_ds",
          "showName":  "1_1_dataphin_odps",
          "config":  {
              "category":  "application",
              "engineType":  "odps"
          }
      }
    • dataphin(连接方式:Dataphin服务数据源;引擎类型:hive)

      {
          "workspaceId": "87f73904-****-****-b1ee-5a3a03a8eb45",
          "userId": "fec0741*****061e6a951a2",
          "dsType":  "dataphin_hive",
          "address":  "f6c64214dc27400xxxxxx-cn-shanghai.alicloudapi.com",
          "username":  "20xxx18",
          "password":  "33paqqexxxxg07qzj28",
          "instance":  "test_ds",
          "showName":  "1_1_dataphin_odps",
          "config":  {
              "category":  "application",
              "engineType":  "hive"
          }
      }
    • dataphin(连接方式:jdbc连接;AcccessKey类型:Dataphin平台)

      {
          "workspaceId": "87f73904-****-****-b1ee-5a3a03a8eb45",
          "userId": "fec0741*****061e6a951a2",
          "dsType":  "odps",
          "config":  {
              "engineType":  "hive",
              "category":  "application",
              "dataphinConfig":  {
                  "tenantId":  "305xxx306",
                  "delegationUid":  "@dataphin",
                  "accountType":  "ACCOUNT_NAME",
                  "authMode":  "DELEGATION"
              },
              "resource": "clb",
              "initialSql": "Set timezone = '-10'"
          },
          "showName":  "DataPhin_JDBC_public",
          "connectType": "dataphin_v2",
          "address": "47.xxx.xxx.124",
          "port":  "80",
          "project": "bbb",
          "instance":  "fxxxk_test",
          "username":  "OIYtGZxxx7zmRpgQpB",
          "password":  "lDbQDnUuxxxxxGsxOd1",
          "parentDsType": "dataphin",
          "accessId": "[3eo[x>>",
          "accessKey": "bHipbB>>",
          "instanceId": "nnnn",
          "region": "cn-qingdao"
      }
    • dataphin(连接方式:jdbc连接;AcccessKey类型:个人用户)

      {
          "workspaceId": "87f73904-****-****-b1ee-5a3a03a8eb45",
          "userId": "fec0741*****061e6a951a2",
          "dsType":  "dataphin_v2",
          "config":  {
              "engineType":  "hive",
              "category":  "application",
              "dataphinConfig":  {
                  "tenantId":  "30xxxx6",
                  "authMode":  "SIMPLE"
              },
              "resource": "clb",
              "initialSql": "Set timezone = '-10'"
          },
          "showName":  "Dataphin-jdbc-private",
          "connectType":  "dataphin_v2",
          "address":  "47.xxx.x4x.124",
          "port":  "80",
          "project": "bbb",
          "instance":  "fxxx_test",
          "username":  "kItowxxxxxxx2ZJr0",
          "password":  "kSlPkmS1xxxxxx61zd4SDX",
          "parentDsType": "dataphin",
          "accessId": "[3eo[x>>",
          "accessKey": "bHipbB>>",
          "instanceId": "nnnn",
          "region": "cn-qingdao"
      }
  • 返回参数:

    {
      "traceId":"235c9fa8-d6f5-****-a6d4-38f07b2319ce",
      "code":"0",
      "message":"f441dad7-6878-****-9ad1-84ff92c7d971",
      "success":true,
      "data":{
        "dsId":"xxx"
      }
    }
  • JAVA SDK 示例:

    public static void add() throws SDKException {
        HttpRequest request = HttpRequest.build()
            .setUri("/openapi/v2/datasource/add")
            .setMethod(HttpMethod.POST);
        // request.addParameter("showName","xxx");
        // request.addParameter("dsType","xxx");
        // request.addParameter("dsCreateOriginType","xxx");
        // request.addParameter("username","xxx");
        // request.addParameter("password","xxx");
        // request.addParameter("instance","xxx");
        // request.addParameter("address","xxx");
        // request.addParameter("port","xxx");
        // request.addParameter("userId","xxx");
        // request.addParameter("workspaceId","xxx");
        // request.addParameter("parentDsType","xxx");
        // 列表参数手动构建下
        // JSONArray array = new JSONArray();
        // JSONObject jsonObject = new JSONObject();
        // jsonObject.put("xxx","xxx");
        // request.addParameter("config","xxx");
        // request.addParameter("schema","xxx");
        // request.addParameter("project","xxx");
        // request.addParameter("dsVersion","xxx");
        String result = openApiClient.syncExecute(request);
        System.out.println(result);

修改数据源基础信息

  • 接口路径:/openapi/v2/datasource/update(PUT)

  • 请求参数:修改数据源基础信息。

  • 版本起始:独立部署4.3.1.1

  • 输入参数:

    参数名称

    类型

    是否必填

    描述

    dsId

    String

    数据源ID。

    userId

    String

    修改数据源的用户身份,Quick BIuserId,如果传了则以当前userid修改。

    dsType

    String

    数据源类型。

    showName

    String

    数据源显示名称。

    (只允许输入的字符为中英文、数字及下划线、斜线、反斜线、竖线、小括号、中括号组成,最大字节长度50)。

    address

    String

    数据库连接串地址(域名或ip)。

    port

    String

    端口。

    schema

    String

    数据库 schema,仅对支持schema的数据库需要设置

    example:sqlserver 默认使用dbo;mysql不支持schema。

    instance

    实例db。

    username

    String

    数据库用户名/ak。

    password

    String

    数据库密钥。

    config

    Json

    数据库额外配置项

    重要

    注意 该数据要和创建时不同数据源的不同config传参保持一致,不做修改的字段无需传参,传了参数的字段默认改为传参为准(包括空字符串)。

    输入参数JSON示例

    {
        "schema": "schema",
        "password": "******",
        "showName": "数据源编辑测试修改名称",
        "address": "118.xx.xx.xx"
        "instance": "quickbi_test",
        "dsId": "34d6d5ec-e5c4-****-b925-d0a3ca8ac267",
        "port": "3306",
        "dsType": "mysql",
        "username": "root"
        "config":  {
            "initialSql": "Set timezone = '-10'"
    }
  • 返回参数说明(SDK调用时,仅返回data部分):

    参数

    数据类型

    描述

    traceId

    string

    请求ID。

    code

    string

    抛错码。取值范围:

    • 0:调用成功

    • AEOE开头的异常码:调用失败

    message

    string

    抛错信息。取值范围:

    • success:调用成功

    • 其他信息:调用失败时的提示

    success

    boolean

    是否请求成功。取值范围:

    • true:请求成功

    • false:请求失败

    data

    boolean

    是否执行成功。取值范围:

    • true:执行成功

    • false:执行失败

  • 返回参数:

    {
      "traceId":"235c9fa8-d6f5-****-a6d4-38f07b2319ce",
      "code":"0",
      "message":"f441dad7-6878-****-9ad1-84ff92c7d971",
      "success":true,
    	"data":true, // 是否修改成功
    }
  • JAVA SDK 示例:

    public static void update() throws SDKException {
        HttpRequest request = HttpRequest.build()
            .setUri("/openapi/v2/datasource/update")
            .setMethod(HttpMethod.POST);
        request.addParameter("showName","xxx");
        request.addParameter("dsType","xxx");
        request.addParameter("dsCreateOriginType","xxx");
        request.addParameter("username","xxx");
        request.addParameter("password","xxx");
        request.addParameter("instance","xxx");
        request.addParameter("address","xxx");
        request.addParameter("port","xxx");
        request.addParameter("userId","xxx");
        request.addParameter("workspaceId","xxx");
        request.addParameter("schema","xxx");
        request.addParameter("project","xxx");
        request.addParameter("dsVersion","xxx");
        request.addParameter("userId","ssss342353453423");
        String result = openApiClient.syncExecute(request);
        System.out.println(result);
    }

删除数据源

  • 接口路径:/openapi/v2/datasource/delete(DELETE)

  • 请求参数:删除数据源,支持强制删除。

  • 版本起始:独立部署4.3.1.1

  • 输入参数:(content-type:application/x-www-form-urlencoded;charset=UTF-8,参数以表单提交)

    参数名称

    类型

    是否必填

    描述

    dsId

    String

    数据源ID

    forceDelete

    Boolean

    是否强制删除,默认为false,存在关联数据集时无法删除。

    输入参数JSON示例

    {
        "dsId": "00119445-86bc-****-911c-a34e23587cca",
         "forceDelete": false,
    }
  • 返回参数说明(SDK调用时,仅返回data部分):

    参数

    数据类型

    描述

    traceId

    string

    请求ID。

    code

    string

    抛错码。取值范围:

    • 0:调用成功

    • AEOE开头的异常码:调用失败

    message

    string

    抛错信息。取值范围:

    • success:调用成功

    • 其他信息:调用失败时的提示

    success

    boolean

    是否请求成功。取值范围:

    • true:请求成功

    • false:请求失败

    data

    boolean

    是否执行成功。取值范围:

    • true:执行成功

    • false:执行失败

  • 返回参数:

    {
      "traceId":"235c9fa8-d6f5-****-a6d4-38f07b2319ce",
      "code":"0",
      "message":"f441dad7-6878-****-9ad1-84ff92c7d971",
      "success":true,
    	"data":true, // 是否删除成功
    }
  • JAVA SDK 示例:

    public static void delete() throws SDKException {
        HttpRequest request = HttpRequest.build()
            .setUri("/openapi/v2/datasource/delete")
            .setMethod(HttpMethod.DELETE)
            .setHttpContentType(FormatType.FORM);
        request.addParameter("dsId","xxx");
        // 非必填参数
        // request.addParameter("forceDelete","xxx");
        String result = openApiClient.syncExecute(request);
        System.out.println(result);
    }

批量清除数据集缓存

  • 接口路径/openapi/v2/dataset/batchCleanCache(POST)

  • 接口描述:批量清除组织内数据集查询结果缓存,默认返回true。

  • 版本起始:独立部署4.4.3

  • 接口参数

    参数名称

    类型

    参数描述

    是否必填

    cubeIds

    String

    数据集ID,多个数据集ID之间用[,]分割。

  • 返回参数说明(SDK调用时,仅返回data部分):

    参数

    数据类

    描述

    traceId

    string

    请求ID。

    code

    string

    抛错码。取值范围:

    • 0:调用成功

    • AEOE开头的异常码:调用失败

    message

    string

    抛错信息。取值范围:

    • success:调用成功

    • 其他信息:调用失败时的提示

    success

    boolean

    是否请求成功。取值范围:

    • true:请求成功

    • false:请求失败

    data

    boolean

    是否执行成功。取值范围:

    • true:执行成功

    • false:执行失败

  • 返回参数:

    {
        "traceId":"9bbd2088-6aeb-****-9ef3-082cc5a4f8f3",
        "code":null,
        "message":null,
        "data":true,
        "success":true
    }
  • JAVA SDK 示例:

    public static void batchCleanCache() throws SDKException {
        HttpRequest request = HttpRequest.build()
            .setUri("/openapi/v2/dataset/batchCleanCache")
            .setMethod(HttpMethod.POST)
            .setHttpContentType(FormatType.FORM);
        request.addParameter("cubeIds","xxx");
        String result = openApiClient.syncExecute(request);
        System.out.println(result);
    }

触发数据集抽取加速

  • 接口路径:/openapi/v2/dataset/task/quickindex/allot(POST)

  • 接口描述:触发数据集Quick引擎的采集加速。

  • 版本起始:独立部署4.5

  • 接口参数:(content-type:application/x-www-form-urlencoded;charset=UTF-8,参数以表单提交)

    参数名称

    类型

    参数描述

    是否必填

    cubeId

    String

    数据集ID

  • 返回参数说明(SDK调用时,仅返回data部分):

    参数

    数据类型

    描述

    traceId

    string

    请求ID。

    code

    string

    抛错码。取值范围:

    • 0:调用成功

    • AEOE开头的异常码:调用失败

    message

    string

    抛错信息。取值范围:

    • success:调用成功

    • 其他信息:调用失败时的提示

    success

    boolean

    是否请求成功。取值范围:

    • true:请求成功

    • false:请求失败

    data

    boolean

    是否执行成功。取值范围:

    • true:执行成功

    • false:执行失败

  • 返回参数:

    {
        "traceId":"9bbd2088-6aeb-****-9ef3-082cc5a4f8f3",
        "code":null,
        "message":null,
        "data":true,
        "success":true
    }
  • JAVA SDK 示例:

    public static void allotDatasetAccelerationTask() throws SDKException {
        HttpRequest request = HttpRequest.build()
            .setUri("/openapi/v2/dataset/task/quickindex/allot")
            .setMethod(HttpMethod.POST)
            .setHttpContentType(FormatType.FORM);
        request.addParameter("cubeId","xxx");
        String result = openApiClient.syncExecute(request);
        System.out.println(result);
    }

查询数据集性能

  • 接口路径:/openapi/v2/dataset/analytic/queryCubePerformance(GET)

  • 接口描述:查询数据集性能

  • 版本起始:起始版本:独立部署ind_5.2

  • 接口参数

    参数名称

    类型

    参数描述

    是否必需

    queryType

    String

    查询类型

    workspaceId

    String

    工作空间id

    cubeId

    String

    数据集id

    costTimeAvgMin

    String

    平均查询耗时最小值

    pageSize

    Integer

    页数

    pageNum

    Integer

    页面大小

  • 返回参数说明(SDK调用时,仅返回data部分):

    参数

    类型

    描述

    traceId

    string

    请求ID。

    code

    string

    抛错码。取值范围:

    • 0:调用成功

    • AEOE开头的异常码:调用失败

    message

    string

    抛错信息。取值范围:

    • success:调用成功

    • 其他信息:调用失败时的提示

    success

    boolean

    是否请求成功。取值范围:

    • true:请求成功

    • false:请求失败

    data

    object [ ]

    返回自助取数记录列表。

    • cubeId

    string

    数据集id

    • cubeName

    string

    数据集名称

    • workspaceId

    string

    空间id

    • workspaceName

    string

    空间名称

    • queryTimeoutCount

    integer

    图表查询超时次数

    • repeatSqlQueryPercent

    string

    重复查询占比

    • repeatQueryPercentNum

    double

    重复查询数

    • repeatQueryPercent

    string

    重复查询占比

    • quickIndexCostTimeAvg

    double

    命中 Quick 引擎平均查询耗时

    • quickIndexQueryCount

    integer

    命中 Quick 引擎次数

    • cacheCostTimeAvg

    double

    命中缓存平均耗时

    • cacheQueryCount

    string

    命中缓存次数

    • repeatSqlQueryCount

    string

    重复查询次数

    • costTimeAvg

    double

    平均查询时间

    • queryCountAvg

    double

    平均查询次数

    • queryCount

    string

    查询次数

    • queryTimeoutCountPercent

    string

    图表查询超时次数占比

    • queryOverTenSecPercentNum

    string

    查询超过 10s 查询次数占比

    • queryOverFivePercentNum

    string

    查询超过 5s 查询次数占比

    • queryOverTenSecPercent

    string

    查询超过 10s 占比

    • queryOverFiveSecPercent

    string

    查询超过 5s 占比

  • 返回参数:

    {
        "traceId": "b442c4c5-0f97-****-b397-0cf98b2febcd",
        "code": "0",
        "message": "success",
        "data": [
        {
          "CubeId": "7c7223ae-****-3c744528014b",
          "CubeName": "test",
          "QueryTimeoutCount": 1,
          "RepeatSqlQueryPercent": "1",
          "WorkspaceName": "测试工作空间",
          "WorkspaceId": "87c6b145-090c-****-9426-8f93be23****",
          "RepeatQueryPercentNum": 1,
          "RepeatQueryPercent": "0.3",
          "QuickIndexCostTimeAvg": 1,
          "QuickIndexQueryCount": 1,
          "CacheCostTimeAvg": 1,
          "CacheQueryCount": 1,
          "RepeatSqlQueryCount": 1,
          "CostTimeAvg": 1,
          "QueryCountAvg": 1,
          "QueryCount": 50,
          "QueryTimeoutCountPercent": 1,
          "QueryOverTenSecPercentNum": 1,
          "QueryOverFivePercentNum": 1,
          "QueryOverTenSecPercent": "1.0",
          "QueryOverFiveSecPercent": "1.0"
        }
      ],
        "success": true,
        "httpCode": 200,
        "dynamicMessage": null
    }
  • JAVA SDK 示例:

public static void queryReportPerformance() throws SDKException {
    HttpRequest request = HttpRequest.build()
        .setUri("/openapi/v2/dataset/analytic/queryCubePerformance")
        .setMethod(HttpMethod.GET);
    request.addParameter("queryType","xxx");
    request.addParameter("workspaceId","xxx");
    request.addParameter("cubeId","xxx");
    request.addParameter("costTimeAvgMin","xxx");
    request.addParameter("pageSize","10");
    request.addParameter("pageNum","1");
    String result = openApiClient.syncExecute(request);
    System.out.println(result);
}

查询引用指定数据源下的数据集信息

  • 接口/openapi/v2/dataset/dataSourceBlood (GET)

  • 描述:使用API获取某个数据源的数据集id

  • 版本起始:独立部署v5.1.2

  • 输入参数

    参数名

    类型

    描述

    是否必须

    dataSourceId

    string

    数据源ID

  • 返回参数说明(SDK调用时,仅返回data部分):

    参数

    类型

    描述

    traceId

    string

    请求ID

    code

    string

    抛错码,取值范围:

    • 0:调用成功

    • AEOE开头的异常码:调用失败

    message

    string

    抛错信息,取值范围:

    • success:调用成功

    • 其他信息:调用失败时的提示

    success

    boolean

    是否请求成功。取值范围:

    • true:请求成功

    • false:请求失败

    data

    object

    返回标签元信息列表。

    • datasetIds

    list<srting>

    数据集ID数组。

  • 返回参数示例:

    {
        "traceId": "f09d9c36-4dc7-****-9ab4-f4dd10a80602",
        "code": "0",
        "message": "success",
        "data": [
                  "52d11adc-2512-****-b64c-42bdab357d80",
                  "4eed0ef6-4e3b-****-ac4d-bb9f8b685cd7",
                  "e74fdfe8-216e-****-90db-99b2828df70e",
                  "6939c0b2-9ce2-****-9530-cf764a553472"
                ]
        "success": true
    }
  • JAVA SDK 示例:

    @Test
    public void dataSourceBlood() throws SDKException {
        HttpRequest request = HttpRequest.build()
                .setUri("/openapi/v2/dataset/dataSourceBlood")
                .setMethod(HttpMethod.GET)
                .setHttpContentType(FormatType.FORM);
       request.addParameter("dataSourceId","485bf770-3edd-4af1-b79d-11d8dcf83119");
       String result = getOpenApiClient("daliy").syncExecute(request);
       System.out.println(result);
    }

查询引用指定数据集下的作品信息

  • 接口/openapi/v2/dataset/dataSetBlood (GET)

  • 描述:使用API获取指定数据集被应用在了哪些仪表盘,电子表格等作品中。

  • 版本起始:起始版本:独立部署v5.1.2

  • 输入参数:

    参数名

    类型

    描述

    是否必须

    dataSetIds

    stringArray字符串

    数据集ID列表,以英文逗号分割

    userId

    String

    指定报表所属owner ,为userId

    worksType

    String

    指定报表类型:

    • REPORT:电子表格

    • dashboardOfflineQuery:自助取数

    • DASHBOARD:仪表板

    • ANALYSIS:即席分析

    • SCREEN:数据大屏

    • PAGE:老仪表板

  • 返回参数说明(SDK调用时,仅返回data部分):

    参数

    类型

    描述

    traceId

    string

    请求ID

    code

    string

    抛错码。取值范围:

    • 0:调用成功

    • AEOE开头的异常码:调用失败

    message

    string

    抛错信息。取值范围:

    • success:调用成功

    • 其他信息:调用失败时的提示

    success

    boolean

    是否请求成功。取值范围:

    • true:请求成功

    • false:请求失败

    data

    object[]

    返回标签元信息列表

    • worksType

    srting

    作品类型:

    • REPORT:电子表格

    • dashboardOfflineQuery:自助取数

    • DASHBOARD:仪表板

    • ANALYSIS:即席分析

    • SCREEN:数据大屏

    • PAGE:老仪表板

    • worksId

    string

    作品id

  • 返回参数示例:

    {
        "traceId": "f09d9c36-4dc7-****-9ab4-f4dd10a80602",
        "code": "0",
        "message": "success",
        "data": [
                  "52d11adc-2512-****-b64c-42bdab357d80",
                  "4eed0ef6-4e3b-****-ac4d-bb9f8b685cd7",
                  "e74fdfe8-216e-****-90db-99b2828df70e",
                  "6939c0b2-9ce2-****-9530-cf764a553472"
                ]
        "success": true
    }
  • JAVA SDK 示例:

    @Test
    public void dataSourceBlood() throws SDKException {
        HttpRequest request = HttpRequest.build()
                .setUri("/openapi/v2/dataset/dataSourceBlood")
                .setMethod(HttpMethod.GET)
                .setHttpContentType(FormatType.FORM);
       request.addParameter("dataSourceId","485bf770-3edd-4af1-b79d-11d8dcf83119");
       String result = getOpenApiClient("daliy").syncExecute(request);
       System.out.println(result);
    }

查询指定空间下的所有数据源

  • 接口:/openapi/v2/datasource/list(GET)

  • 描述:使用API获取指定空间下的所有数据源基础信息。

    说明

    不包含标签创建的数据源和探索空间数据源以及API数据源。

  • 版本起始:独立部署v5.3.1

  • 输入参数:

    参数名

    类型

    描述

    是否必须

    workspaceId

    string

    工作空间ID。

    dsType

    string

    数据源类型。

数据源类型码值:

garuda            --   garuda数据源
adb               --   ADB 3.0
oracle            --   oracle数据源
mysql             --   mysql数据源
mysql_hybrid      --    HybridDB for MySQL数据源
odps              --   odps数据源
sqlserver         --    sqlserver数据源
greenplum         --    greenplum数据源
postgresql        --    postgresql数据源
ppas              --    RDS PPAS数据源
oscar             --   神通数据源
hive              --    Hive 数据源
vertica           --    Vertica 数据源
db2               --    IBM DB2数据源(LUW)
sybase            --    SAP SYBASE IQ 数据源
hana              --    SAP HANA 数据源
dla               --    DataLake Analytics 数据源
oss               --    OSS 数据源
drds              --    DRDS 数据源
clivia            --    super-engine
presto            --    presto数据源
polardb           --    polardb数据源
tsdb              --    TSDB数据源
lindorm_tsdb      --    LindormTSDB数据源
lindorm_wide_table_engine  --    Lindorm宽表引擎数据源
lindorm_multi_mode  --    Lindorm多模SQL数据源
hbase             --    HBASE数据源
phoenix_thin      --    PHOENIX THIN 数据源
dataphin          --    DataPhin数据源-多引擎
dataphin_odps     --    DataPhin数据源odps引擎
dataphin_hive     --    DataPhin数据源hive引擎
dataphin_v2_odps  --    新DataPhin数据源odps引擎
dataphin_v2_hive  --    新DataPhin数据源hive引擎
kbase             --    KingBase数据源
clickhouse        --    ClickHouse数据源
tdsql             --    TDSQL-H数据源
gbase             --    Gbase数据源
polardb_pg        --    Polardb for pg数据源
hologres          --    Hologres数据源
impala            --    impala 数据源
impala_v3         --    impala3.x数据源
dingtalk          --    钉钉智能报表数据源
snowflake         --   snowflake数据源
kylin             --   kylin数据源
multiDatasource   --   跨源
oceanbase_mysql   --   OceanBase_mysql模式数据源
oceanbase_oracle  --   OceanBase_Oracle模式数据源
spark_sql         --   Spark_SQL数据源
starrocks         --    StarRocks数据源
apache_doris      --    Apache_Doris数据源
selectdb          --    SelectDB数据源
mongodb           --    MongoDB数据源
dm                --    DM7数据源-达梦
unicorn           --    Unicorn数据源
sls               --   sls数据源
gaussdb_dws       --   GaussDB_DWS数据源
gaussdb           --   GaussDB数据源
elasticsearch     --    Elasticsearch
dms               --    DMS逻辑数仓
yida              --    宜搭应用数据源
relyt             --   Relyt
feishu_bitable    --   飞书多维表格
feishu_spreadsheet  --   飞书电子表格
tidb              --    TiDB数据源
mariadb           --    MariaDB数据源
adb_spark         --    adb数据源Spark引擎
  • 返回参数说明(SDK调用时,仅返回data部分):

    参数

    类型

    描述

    traceId

    string

    请求ID

    code

    string

    抛错码。取值范围:

    • 0:调用成功

    • AEOE开头的异常码:调用失败

    message

    string

    抛错信息。取值范围:

    • success:调用成功

    • 其他信息:调用失败时的提示

    success

    boolean

    是否请求成功。取值范围:

    • true:请求成功

    • false:请求失败

    data

    object[]

    返回标签元信息列表

    • showName

    srting

    数据源展示名称

    • datasourceId

    srting

    数据源的id

    • dsType

    srting

    数据源类型

    • parentDsType

    srting

    多引擎数据源的主数据源类型,目前仅部分数据源会返回

    • gmtCreate

    string

    数据源创建时间,yyyy-MM-dd HH:mm:ss

    • creatorId

    string

    创建人的Quick BI用户ID。

    • creatorName

    string

    所有者昵称

    • gmtModified

    string

    修改时间

  • 返回参数示例:

    {
        "traceId": "f09d9c3*********************f4dd10a80602",
        "code": "0",
        "message": "success",
        "data": [
            {
                "gmtModified": "2024-09-18 10:00:24",
                "showName": "mysql",
                "datasourceId": "183d4*********************cb7096f",
                "dsType": "mysql",
                "creatorId": "2dc8aa2*********************e2252276f9",
                "creatorName": "sss",
                "gmtCreate": "2024-09-18 10:00:24"
            }
        ],
        "success": true
    }
  • JAVA SDK 示例:

    @Test
    public void listDataSource() throws SDKException {
        HttpRequest request = HttpRequest.build()
                 .setUri("/openapi/v2/datasource/list")
                 .setMethod(HttpMethod.GET);
        request.addParameter("workspaceId","81818-xxxxx-xxx-xx-2323");
        String result = getOpenApiClient("test").syncExecute(request);
        System.out.println(result);
    }

获取数据源配置信息

  • 接口/openapi/v2/datasource/{dsId}(GET)

  • 接口描述:获取数据源配置信息。

  • 版本起始:独立部署v5.3.1

  • 输入参数

参数

类型

描述

是否必需

dsId

String

数据源 ID

数据源类型码值:

garuda            --   garuda数据源
adb               --   ADB 3.0
oracle            --   oracle数据源
mysql             --   mysql数据源
mysql_hybrid      --    HybridDB for MySQL数据源
odps              --   odps数据源
sqlserver         --    sqlserver数据源
greenplum         --    greenplum数据源
postgresql        --    postgresql数据源
ppas              --    RDS PPAS数据源
oscar             --   神通数据源
hive              --    Hive 数据源
vertica           --    Vertica 数据源
db2               --    IBM DB2数据源(LUW)
sybase            --    SAP SYBASE IQ 数据源
hana              --    SAP HANA 数据源
dla               --    DataLake Analytics 数据源
oss               --    OSS 数据源
drds              --    DRDS 数据源
clivia            --    super-engine
presto            --    presto数据源
polardb           --    polardb数据源
tsdb              --    TSDB数据源
lindorm_tsdb      --    LindormTSDB数据源
lindorm_wide_table_engine  --    Lindorm宽表引擎数据源
lindorm_multi_mode  --    Lindorm多模SQL数据源
hbase             --    HBASE数据源
phoenix_thin      --    PHOENIX THIN 数据源
dataphin          --    DataPhin数据源-多引擎
dataphin_odps     --    DataPhin数据源odps引擎
dataphin_hive     --    DataPhin数据源hive引擎
dataphin_v2_odps  --    新DataPhin数据源odps引擎
dataphin_v2_hive  --    新DataPhin数据源hive引擎
kbase             --    KingBase数据源
clickhouse        --    ClickHouse数据源
tdsql             --    TDSQL-H数据源
gbase             --    Gbase数据源
polardb_pg        --    Polardb for pg数据源
hologres          --    Hologres数据源
impala            --    impala 数据源
impala_v3         --    impala3.x数据源
dingtalk          --    钉钉智能报表数据源
snowflake         --   snowflake数据源
kylin             --   kylin数据源
multiDatasource   --   跨源
oceanbase_mysql   --   OceanBase_mysql模式数据源
oceanbase_oracle  --   OceanBase_Oracle模式数据源
spark_sql         --   Spark_SQL数据源
starrocks         --    StarRocks数据源
apache_doris      --    Apache_Doris数据源
selectdb          --    SelectDB数据源
mongodb           --    MongoDB数据源
dm                --    DM7数据源-达梦
unicorn           --    Unicorn数据源
sls               --   sls数据源
gaussdb_dws       --   GaussDB_DWS数据源
gaussdb           --   GaussDB数据源
elasticsearch     --    Elasticsearch
dms               --    DMS逻辑数仓
yida              --    宜搭应用数据源
relyt             --   Relyt
feishu_bitable    --   飞书多维表格
feishu_spreadsheet  --   飞书电子表格
tidb              --    TiDB数据源
mariadb           --    MariaDB数据源
adb_spark         --    adb数据源Spark引擎

  • 返回参数说明(SDK调用时,仅返回data部分):

    参数

    类型

    描述

    traceId

    string

    请求ID。

    code

    string

    抛错码。取值范围:

    • 0:调用成功

    • AEOE开头的异常码:调用失败

    message

    string

    抛错信息。取值范围:

    • success:调用成功

    • 其他信息:调用失败时的提示

    success

    boolean

    是否请求成功。取值范围:

    • true:请求成功

    • false:请求失败

    data

    object

    数据源配置信息。

    • dsId

    string

    数据源ID

    • creatorId

    string

    创建人的Quick BI用户ID

    • modifyUser

    string

    修改人Quick BI用户ID

    • workspaceId

    String

    数据源所属工作空间ID

    • address

    String

    数据库连接串地址(域名或ip)

    • port

    String

    端口

    • dsType

    String

    数据源类型,码值参考入参上方的表格。

    • schema

    String

    数据库schema,仅对支持schema的数据库需要设置

    • instance

    String

    数据库实例,对应数据库名称,ODPSproject

    • project

    String

    获取连接串详情时,odps供前端展示使用

    • showName

    String

    数据源前端展示名称

    • authLevel

    Integer

    权限级别:

    • 0 -- 私有

    • 1 -- 协同编辑(旧)

    • 11 -- 协同编辑——空间成员

    • 12 -- 协同编辑——指定到人

    • instanceId

    String

    实例id

    • dsVersion

    String

    数据源的版本

    • noSasl

    boolean

    impala数据源是否需要身份验证即可登录:true-需要账户密码登录 false-不需要验证(默认)

    • parentDsType

    String

    多引擎数据源的主数据源类型

    • config

    object

    各种数据源的额外配置项

  • 返回参数:

    {
        "traceId": "626b80*********************4e5893f63",
        "code": "0",
        "message": "success",
        "data": {
            "dsId": "85be*********************61440", //数据源id
            "creatorId": "74f55*********************aaaaaaaaa", //创建者id
            "modifyUser": null, //修改者id
            "workspaceId": "8b8e0e5*********************aaaaaaa6666", //空间id
            "address": "example.aliyuncs.com", //数据源地址
            "port": "3306", //数据库端口
            "dsType": "mysql", // 数据源类型
            "userName": "test_username", //数据库用户名
            "schema": null, //Schema
            "instance": "test",//数据库
            "project": null,
            "showName": "mysql_copy", //数据源名称
            "config": {
                "resource": null, 
                "category": "cloud", //类型
                "netType": null,
                "vpcId": null, //vpc数据源id
                "vpcIp": null,//vpc数据源ip
                "vpcPort": null,//vpc数据源端口
                "onEcsMappingIp": null,//esc映射ip
                "onEcsMappingPort": null,//ecs映射端口
                "instanceIp": null,//实例ip
                "engine": null,//引擎
                "instanceId": null,//实例id
                "region": null,//区域
                "endPointDomain": null,//终端域名
                "ssl": null,
                "verifyServerCertificate": null,//是否校验服务器证书
                "requireSSL": null,//是否需要ssl链接
                "ssh": null,
                "hostConfig": {
                    "hostAddress": "example.aliyuncs.com",//主机名
                    "hostPort": "3306"//主机端口
                },
                "kerberosEnable": null,//是否启用kerberos认证
                "hiveConnectionType": null,//hive链接类型
                "hiveMetastoreUri": null,//hive元数据储存地址
                "engineType": null,//引擎类型
                "envType": "public_cloud",//环境类型
                "characterEncoding": null,//字符串编码
                "mcqa": null,//MaxCompute MCQA
                "fallbackQuota": null,
                "initialSql": null,//初始sql
                "sparkDetect": "true",//spark检测
                "timeZone": null//时区
            },
            "authLevel": null,
            "accessId": null,
            "accessKey": null,
            "instanceId": null,
            "region": null,
            "loginTicket": null,
            "dsVersion": null, //数据源版本
            "dsCreateOrigin": null,
            "noSasl": false, //noSasl认证
            "belongType": 0,
            "organizationId": null
        },
        "success": true,
        "httpCode": 200,
        "dynamicMessage": null
    }
  • Java SDK 示例:

    public static void getDatasource() throws SDKException {
        HttpRequest request = HttpRequest.build()
                .setUri("/openapi/v2/datasource/{dsId}")
                .setMethod(HttpMethod.GET);
        request.addParameter("dsId","xxx");
        String result = openApiClient.syncExecute(request);
        System.out.println(result);
    }