注意:在您使用本文所述的接口前,请先了解调用方式,详情可阅读调用方式。
请求说明 请求地址:POST /aeolus/api/v3/open/metadata/dataSetList 请求参数 { "appId": 1, "dataSetIdList": [1], 可选参数,如果不传则返回项目下所有数据集 "needSyncInfo": true, 是否需要最近同步时间,可选参数,默认值为true。false可提高接口性能 "needUpstreamInfo": true 是否需要数据源信息,可选参数,默认值为true。false可提高接口性能 } 返回示例 { "data": [ { "id": 1, 数据集id "name": "", 数据集name "url": "", 数据集链接 "owner": "", 数据集所有者 "upstreamInfo": [ {"dbName": "a", "tableName": "b"} 上游表列表 ], "type": {"code": 2, "name": "hive数据集"}, 类型,code为标志码,name为可读名称 "ctime": "2020-01-01 13:00:00", 创建时间 "mtime": "2020-01-01 13:00:00" 更新时间 "lastSyncTime": "2020-01-01 13:00:00" 最近同步时间 } ] }
注意:该 API 从 V2.46.0 版本之后可以使用
请求说明 请求地址:GET /aeolus/api/v3/open/openDataFactory/getDataModelInfo?dataSetId=1 请求示例 ?dataSetId=xxx 返回示例 nodeConf": [ { "children": [ children代表该节点为union类型,children对应的value为参与union的所有数据源的信息 { union 1 "advanceSettings": [], "clusterName": "cn", "dataSourceType": "hive", 数据源类型 "dbName": "dw_aeolus", 库名(部分数据源类型有实际意义,如hive ck) "displayDbName": "dw_aeolus", "fields": [ 数据源的字段列表 { "alias": "`source_table[dw_aeolus_slowpoke_hive_test_txt]`", "dsColumnNames": ["source_table1"], 该底表字段对应在数据集中的名称,list "comment": "", "isSelect": false, 👈🏻该数据源自带的字段是否被选用 "isSourceTableField": true, "name": "source_table", 👈🏻字段名称(非维度指标;为原始字段) "prepType": "string", "type": "string" 👈🏻字段类型 }, .... ], "nodeType": "table", "schemaName": "slowpoke_hive_test_txt", 表名 "tableAlias": "slowpoke_hive_test_txt", 表别称,当有多个相同表时,alias会加后缀进行区分 "tbId": "cn//dw_aeolus//slowpoke_hive_test_txt", "tbName": "slowpoke_hive_test_txt" }, { union 2 "clusterName": "cn", "dataSourceType": "hive", "dbName": "dw_aeolus", "displayDbName": "dw_aeolus", "fields": [ { "alias": "`source_table[dw_aeolus_slowpoke_hive_test_txt_1]`", "comment": "", "isSelect": true, "isSourceTableField": true, "name": "source_table", "prepType": "string", "type": "string" }, ..... ], "nodeType": "table", "schemaName": "slowpoke_hive_test_txt_1", "tableAlias": "slowpoke_hive_test_txt_1", "tableRowFilter": {}, "tbId": "cn//dw_aeolus//slowpoke_hive_test_txt_1", "tbName": "slowpoke_hive_test_txt" } ], "fields": [ 该fileds代表union 之后作为一个union table节点时,该节点所对应的字段 { "alias": "map_store", "comment": "map类型", "dataSourceType": "hive", "fieldMap": [ { "fieldName": "map_store", "tableId": "cn//dw_aeolus//slowpoke_hive_test_txt" }, { "fieldName": "map_store", "tableId": "cn//dw_aeolus//slowpoke_hive_test_txt_1" } ], "isPartition": false, "isSourceTableField": false, "name": "map_store", "prepType": "string", "type": "string" }, ... ], "nodeType": "union_table" }, { 没有children则代表该节点为单一节点,不存在union,下面为其全部信息, key对应内容含义与上面相同 "clusterName": "cn", "dataSourceType": "hive", "dbName": "dw_aeolus", "displayDbName": "dw_aeolus", "fields": [ { "alias": "`name[dw_aeolus_slowpoke_hive_two_partition]`", "dsColumnNames": ["name_in_ds"], 该底表字段对应的数据集字段名称,list "comment": "名称", "isSelect": true, "isSourceTableField": false, "name": "name", "prepType": "string", "type": "string" }, .... ], "nodeType": "table", "schemaName": "slowpoke_hive_two_partition", "tableAlias": "slowpoke_hive_two_partition", "tbId": "cn//dw_aeolus//slowpoke_hive_two_partition", "tbName": "slowpoke_hive_two_partition" } ], "nodeNum": 2 该数据集画布上组成的节点总数,注意是节点数,union之后所有的内容是一个节点 } }
DataSourceType枚举值 DATA_SOURCE_TYPE_HIVE = "hive" DATA_SOURCE_TYPE_CLICK_HOUSE = "click_house" DATA_SOURCE_TYPE_MYSQL = "mysql" DATA_SOURCE_TYPE_KAFKA = "kafka" DATA_SOURCE_TYPE_DRUID = "druid" DATA_SOURCE_TYPE_CSV = "csv" DATA_SOURCE_TYPE_CH_CSV = "ch_csv" DATA_SOURCE_TYPE_EXCEL = "excel" DATA_SOURCE_TYPE_CH_EXCEL = "ch_excel" DATA_SOURCE_TYPE_DOCS = "docs" DATA_SOURCE_TYPE_ADB2 = "adb2" DATA_SOURCE_TYPE_ADB3 = "adb3" DATA_SOURCE_TYPE_FOREIGN = "foreign" DATA_SOURCE_TYPE_MAXCOMPUTE = "maxcompute" DATA_SOURCE_TYPE_RESTAPI = "restapi" DATA_SOURCE_TYPE_LARK_SHEET = "lark_sheet" DATA_SOURCE_TYPE_LARK_BITABLE = "lark_bitable" DATA_SOURCE_TYPE_RDS = "rds" DATA_SOURCE_TYPE_POSTGRESQL = "postgresql" DATA_SOURCE_TYPE_IMPALA = "impala" DATA_SOURCE_TYPE_ORACLE = "oracle" DATA_SOURCE_TYPE_SQLSERVER = "sqlserver" DATA_SOURCE_TYPE_PHOENIX = "phoenix" DATA_SOURCE_TYPE_DB2 = "db2" DATA_SOURCE_TYPE_HANA = "hana" DATA_SOURCE_TYPE_VERTICA = "vertica" DATA_SOURCE_TYPE_GREENPLUM = "greenplum" DATA_SOURCE_TYPE_TERADATA = "teradata"
请求说明 请求地址:POST /aeolus/api/v3/open/metadata/dashboardList?appId=1 请求示例 { "appId": 1, "dashboardIdList": [1], 可选参数,如果不传则返回项目下所有仪表盘 } 返回示例 { "data": [ { "id": 1, 仪表盘id "name": "", 仪表盘名称 "url": "", 仪表盘链接 "owner": "", 仪表盘所有者 "ctime": "2020-01-01 13:00:00", 创建时间 "mtime": "2020-01-01 13:00:00" 更新时间 } ] }
请求说明 请求地址:POST /aeolus/api/v3/open/metadata/reportList?appId=1 请求示例 { "appId": 1, "reportIdList": [1], 可选参数,如果不传则返回项目下所有图表 } 返回示例 { "data": [ { "id": 1, 图表id "name": "", 图表名称 "url": "", 图表链接 "owner": "", 图表所有者 "ctime": "2020-01-01 13:00:00", 创建时间 "mtime": "2020-01-01 13:00:00" 更新时间 } ] }
请求说明 请求地址:POST /aeolus/api/v3/open/metadata/dashboardReport 请求示例 { "appId": 1, "dashboardIdList": [1], 可选参数,如果不传则返回项目下所有仪表盘包含的图表 } 返回示例 { "data": { "1001": [ { "id": 1, 图表id "name": "", 图表name "url": "", 图表链接 "owner": "", 图表所有者 "ctime": "2020-01-01 13:00:00" 创建时间 "mtime": "2020-01-01 13:00:00" 更新时间 } ], "1002": [] } }
请求说明 请求地址:POST /aeolus/api/v3/open/metadata/reportDataset 请求示例 { "appId": 1, "reportIdList": [1], 可选参数,如果不传则返回项目下所有图表关联的 "needSyncInfo": true, 是否需要最近同步时间,可选参数,默认值为true。false可提高接口性能 "needUpstreamInfo": true 是否需要数据源信息,可选参数,默认值为true。false可提高接口性能 } 返回示例 { "data": { "1001": [ { "id": 1, 数据集id "name": "", 数据集name "url": "", 数据集链接 "owner": "", 数据集所有者 "ctime": "2020-01-01 13:00:00" 创建时间 "lastSyncTime": "2020-01-01 13:00:00" 最近同步时间 } ], "1002": [] } }
请求说明 请求地址:POST /aeolus/api/v3/open/metadata/reportDashboard 请求示例 { "appId": 1, "reportIdList": [1], 可选参数,如果不传则返回项目下所有仪表盘包含的图表 } 返回示例 { "data": { "1001": [ { "id": 1, 仪表盘id "name": "", 仪表盘名称 "url": "", 仪表盘链接 "owner": "", 仪表盘所有者 "ctime": "2020-01-01 13:00:00" 创建时间 } ], "1002": [] } }
请求说明 请求地址:POST /aeolus/api/v3/open/auth/batchCheckAuth 请求参数 { "originId": "user_1", 鉴权目标用户名 "resType": "data_set", 需要鉴权的资源类型,枚举:app: 项目,data_set: 数据集, data_set_folder: 数据集文件夹, dashboard: 仪表盘, large_screen: 大屏 "resIdList": [1, 2, 3], 需要鉴权的资源id列表 "requiredRole": "", 目标用户需要的权限,可选参数,默认为read_role。枚举:view_only_role: 仅阅览, read_role: 读, write_role: 写, admin: 管理 } 返回示例 { "data": { "permittedIdList": [1, 2] 目标用户拥有requireRole的资源id列表 } }
注意,接口返回结果会与调用者身份取交集,防止越权获取权限。例如,token代表用户A有权限的数据集id为[1, 2, 3],获取其他用户有权限的数据集时,返回的id集合不会超过[1, 2, 3]。
建议app管理员作为token申请者(app管理员拥有项目下全部资源权限)。
请求说明 请求地址:GET /aeolus/api/v3/authManagement/userPermittedRes 请求参数 { "resType": "data_set", 资源类型,数据集:data_set,仪表盘:dashboard "originId": "user_1", 用户名 } 返回示例 { "res_list": [ { "id": 1, view_only_role:仅阅览(无下载权限),read_role:查看,write_role:编辑,admin:管理 "actions": ["view_only_role", "read_role", "write_role", "admin"], "app_id": 123 } ] }