1. 笔记
1.1. 笔记说明
1.1.1. 笔记定义
笔记是多个代码片段的集合,每个片段称为一个段落。这些有关联的段落顺序执行来完成特定的数据处理功能。给笔记设定执行计划,可以实现周期性的数据处理。
笔记结构说明
字段 |
类型 |
描述 |
id |
INTEGER |
笔记的 id |
title |
STRING |
笔记的标题 |
createdAt |
DATETIME |
笔记创建的时间 |
createdBy |
INTEGER |
笔记创建用户的 id |
updatedAt |
DATETIME |
笔记最后修改的时间 |
updatedBy |
INTEGER |
笔记最后修改用户的 id |
transactionMode |
STRING |
笔记的事务模式,见事务模式说明 |
entityGroup |
STRING |
笔记的执行计划类别,用于管理执行计划,固定为notebook |
entityKey |
STRING |
笔记的执行计划关键字,用于管理执行计划 |
execDetail |
OBJECT |
创建执行计划需要用到的任务描述信息,详见执行计划 |
笔记事务模式说明
状态值 |
意义 |
BY_NOTEBOOK |
整个笔记作为一个事务, 默认值 |
BY_PARAGRAPH |
每个段落作为一个事务 |
笔记连接列表结构说明
字段 |
类型 |
描述 |
notebookId |
INTEGER |
所属笔记的 id |
connectionId |
INTEGER |
连接的 id |
createdAt |
DATETIME |
添加连接的时间 |
createdBy |
INTEGER |
添加连接用户的 id |
status |
STRING |
连接授权状态,见连接授权状态说明 |
笔记连接授权状态说明
状态值 |
意义 |
VALID |
已经授权,有效 |
INVALID |
尚未授权,无效 |
1.2. 接口说明
1.2.1. 新增笔记
请求URL
POST /api/v1/notebooks
需要认证:是
请求参数
URL 参数
Request Body 参数
字段 |
类型 |
是否必须 |
描述 |
title |
STRING |
是 |
笔记的标题 |
transactionMode |
STRING |
可选 |
笔记的事务模式,见事务模式说明 |
返回对象的格式说明
字段 |
类型 |
说明 |
version |
STRING |
当前系统版本哈希值 |
data |
OBJECT |
见笔记结构说明 |
接口示例:
POST /api/v1/notebooks
{
"title": "notebook1",
"transactionMode": "BY_PARAGRAPH"
}
返回
{
"code": 0,
"data": {
"id": 1,
"title": "notebook1",
"createdBy": 1,
"createdAt": "2020-02-25 17:19:40",
"updatedBy": 1,
"updatedAt": "2020-02-25 17:19:40",
"transactionMode": "BY_PARAGRAPH",
"entityGroup": "notebook",
"entityKey": "1"
},
"msg": "success",
"version": "3.1-SNAPSHOT@@git.commit.id.abbrev@#1234567"
}
1.2.2. 删除笔记
请求URL
DELETE /api/v1/notebooks/{notebookId}
需要认证:是
请求参数
URL 参数
Request Body 参数
返回对象的格式说明
字段 |
类型 |
说明 |
version |
STRING |
当前系统版本哈希值 |
code |
错误码 |
请求成功返回0 |
msg |
STRING |
请求成功返回success |
接口示例:
DELETE /api/v1/notebooks/{notebookId}
返回
{
"code": 0,
"msg": "success",
"version": "3.1-SNAPSHOT@@git.commit.id.abbrev@#1234567"
}
1.2.3. 修改笔记
请求URL
PUT /api/v1/notebooks/{notebookId}
需要认证:是
请求参数
URL 参数
Request Body 参数
只能修改title或者transactionMode,或者同时修改,不能全部为(空或者null)
字段 |
类型 |
是否必须 |
描述 |
title |
STRING |
可选 |
笔记的标题 |
transactionMode |
STRING |
可选 |
笔记的事务模式,见事务模式说明 |
返回对象的格式说明
字段 |
类型 |
说明 |
version |
STRING |
当前系统版本哈希值 |
data |
OBJECT |
见笔记结构说明 |
接口示例:
PUT /api/v1/notebooks/{notebookId}
{
"title": "notebook new title"
}
返回
{
"code": 0,
"data": {
"id": 1,
"title": "notebook new title",
"createdBy": 1,
"createdAt": "2020-02-25 17:19:40",
"updatedBy": 1,
"updatedAt": "2020-02-25 17:19:40",
"transactionMode": "BY_PARAGRAPH",
"entityGroup": "notebook",
"entityKey": "1"
},
"msg": "success",
"version": "3.1-SNAPSHOT@@git.commit.id.abbrev@#1234567"
}
1.2.4. 获取笔记
请求URL
GET /api/v1/notebooks/{notebookId}
需要认证:是
请求参数
URL 参数
Request Body 参数
返回对象的格式说明
字段 |
类型 |
说明 |
version |
STRING |
当前系统版本哈希值 |
data |
OBJECT |
见笔记结构说明 |
接口示例:
GET /api/v1/notebooks/{notebookId}
返回
{
"code": 0,
"data": {
"id": 1,
"title": "notebook1",
"createdBy": 1,
"createdAt": "2020-02-25 17:19:40",
"updatedBy": 1,
"updatedAt": "2020-02-25 17:19:40",
"transactionMode": "BY_PARAGRAPH",
"entityGroup": "notebook",
"entityKey": "1"
},
"msg": "success",
"version": "3.1-SNAPSHOT@@git.commit.id.abbrev@#1234567"
}
1.2.5. 获取笔记列表
请求URL
GET /api/v1/notebooks
需要认证:是
请求参数
URL 参数
字段 |
类型 |
是否必须 |
说明 |
offset |
INTEGER |
可选 |
分页偏移量,默认是0 |
limit |
INTEGER |
可选 |
分页获取个数,默认是10 |
Request Body 参数
返回对象的格式说明
字段 |
类型 |
说明 |
version |
STRING |
当前系统版本哈希值 |
totalHits |
INTEGER |
笔记的总个数 |
offset |
INTEGER |
当前分页偏移量 |
data |
OBJECT 数组 |
数组的元素是一个笔记,见笔记结构说明 |
接口示例:
GET /api/v1/notebooks
返回
{
"code": 0,
"data": [
{
"id": 1,
"title": "notebook1",
"createdBy": 1,
"createdAt": "2020-02-25 17:19:40",
"updatedBy": 1,
"updatedAt": "2020-02-25 17:19:40",
"transactionMode": "BY_PARAGRAPH",
"entityGroup": "notebook",
"entityKey": "1"
},
{
"id": 2,
"title": "notebook2",
"createdBy": 1,
"createdAt": "2020-02-26 17:19:40",
"updatedBy": 1,
"updatedAt": "2020-02-26 17:19:40",
"transactionMode": "BY_NOTEBOOK",
"entityGroup": "notebook",
"entityKey": "2"
}
],
"msg": "success",
"version": "3.1-SNAPSHOT@@git.commit.id.abbrev@#1234567",
"totalHits": 2,
"offset": 0
}
1.2.6. 新增笔记的可用连接
请求URL
POST /api/v1/notebooks/{notebookId}/connections
需要认证:是
请求参数
URL 参数
Request Body 参数
字段 |
类型 |
是否必须 |
描述 |
connectionId |
INTEGER |
是 |
连接的 id |
status |
STRING |
可选 |
连接授权状态,见连接授权状态说明 ,默认是INVALID |
返回对象的格式说明
字段 |
类型 |
说明 |
version |
STRING |
当前系统版本哈希值 |
data |
OBJECT |
见笔记连接列表结构说明 |
接口示例:
POST /api/v1/notebooks/{notebookId}/connections
{
"connectionId": 1
}
返回
{
"code": 0,
"data": {
"notebookId": 1,
"connectionId": 1,
"createdBy": 1,
"createdAt": "2020-02-25 17:19:40",
"status": "INVALID"
},
"msg": "success",
"version": "3.1-SNAPSHOT@@git.commit.id.abbrev@#1234567"
}
1.2.7. 删除笔记的可用连接
请求URL
DELETE /api/v1/notebooks/{notebookId}/connections/{connectionId}
需要认证:是
请求参数
URL 参数
Request Body 参数
返回对象的格式说明
字段 |
类型 |
说明 |
version |
STRING |
当前系统版本哈希值 |
code |
错误码 |
请求成功返回0 |
msg |
STRING |
请求成功返回success |
接口示例:
DELETE /api/v1/notebooks/{notebookId}/connections/{connectionId}
返回
{
"code": 0,
"msg": "success",
"version": "3.1-SNAPSHOT@@git.commit.id.abbrev@#1234567"
}
1.2.8. 修改笔记的可用连接
请求URL
PUT /api/v1/notebooks/{notebookId}/connections/{connectionId}
需要认证:是
请求参数
URL 参数
Request Body 参数
只能修改status
字段 |
类型 |
是否必须 |
描述 |
status |
STRING |
是 |
连接授权状态,见连接授权状态说明 |
返回对象的格式说明
字段 |
类型 |
说明 |
version |
STRING |
当前系统版本哈希值 |
data |
OBJECT |
见笔记连接列表结构说明 |
接口示例:
PUT /api/v1/notebooks/{notebookId}/connections/{connectionId}
{
"status": "VALID"
}
返回
{
"code": 0,
"data": {
"notebookId": 1,
"connectionId": 1,
"createdBy": 1,
"createdAt": "2020-02-26 17:19:40",
"status": "VALID"
},
"msg": "success",
"version": "3.1-SNAPSHOT@@git.commit.id.abbrev@#1234567"
}
1.2.9. 获取笔记的可用连接列表
请求URL
GET /api/v1/notebooks/{notebookId}/connections
需要认证:是
请求参数
URL 参数
字段 |
类型 |
是否必须 |
说明 |
offset |
INTEGER |
可选 |
分页偏移量,默认是0 |
limit |
INTEGER |
可选 |
分页获取个数,默认是10 |
Request Body 参数
返回对象的格式说明
字段 |
类型 |
说明 |
version |
STRING |
当前系统版本哈希值 |
totalHits |
INTEGER |
笔记的总个数 |
offset |
INTEGER |
当前分页偏移量 |
data |
OBJECT 数组 |
数组的元素是一个笔记,见笔记连接列表结构说明 |
接口示例:
GET /api/v1/notebooks/{notebookId}/connections
返回
{
"code": 0,
"data": [
{
"notebookId": 1,
"connectionId": 1,
"createdBy": 1,
"createdAt": "2020-02-26 17:19:40",
"status": "VALID"
},
{
"notebookId": 1,
"connectionId": 2,
"createdBy": 1,
"createdAt": "2020-02-27 17:19:40",
"status": "INVALID"
}
],
"msg": "success",
"version": "3.1-SNAPSHOT@@git.commit.id.abbrev@#1234567",
"totalHits": 2,
"offset": 0
}
1.2.10. 获取笔记的连接的表格目录
请求URL
GET /api/v1/notebooks/{notebookId}/connections/{connectionId}/path-tables
需要认证:是
请求参数
URL 参数
Request Body 参数
返回对象的格式说明
字段 |
类型 |
说明 |
version |
STRING |
当前系统版本哈希值 |
data |
OBJECT 数组 |
|
data[].pathType |
STRING |
path表示目录,table表示表格 |
data[].name |
STRING |
节点名字 |
data[].children |
OBJECT 数组 |
只有pathType=path才有,递归结构,同data |
data[].tableType |
STRING |
只有pathType=table有,TABLE表示表格,VIEW表示视图 |
接口示例:
GET /api/v1/notebooks/{notebookId}/connections/{connectionId}/path-tables
返回
{
"version": "3.1-SNAPSHOT@a6dba31#eb48090",
"code": 0,
"msg": "success",
"data": [
{
"pathType": "path",
"name": "public",
"children": [
{
"pathType": "table",
"name": "auth",
"tableType": "TABLE"
},
{
"pathType": "table",
"name": "barchart",
"tableType": "TABLE"
}
]
}
]
}
1.2.11. 获取笔记的连接的表格数据
请求URL
POST /api/v1/notebooks/{notebookId}/connections/{connectionId}/path-table-data
需要认证:是
请求参数
URL 参数
Request Body 参数
字段 |
类型 |
是否必须 |
描述 |
table |
STRING |
是 |
表名 |
path |
STRING |
是 |
路径名 |
返回对象的格式说明
字段 |
类型 |
说明 |
version |
STRING |
当前系统版本哈希值 |
data |
OBJECT |
|
data.schema |
OBJECT数组 |
字段描述 |
data.data |
OBJECT数组 |
数据 |
接口示例:
POST /api/v1/notebooks/{notebookId}/connections/{connectionId}/path-table-data
{
"table":"auth",
"path":["public"]
}
返回
{
"version":"3.1-SNAPSHOT@a6dba31#a26a4ea",
"code":0,
"msg":"success",
"data":{
"data":[
[1,3,"group",0,"dataset","read|write"],
[2,3,"group",0,"connection","read|write"],
[3,3,"group",0,"chart","read|write"],
[4,3,"group",0,"dashboard","read|write"],
[5,3,"group",0,"notebook","read|write"],
[6,3,"group",0,"paragraph","read|write"],
[7,3,"group",0,"publish","read|write"],
[8,1,"group",0,"user","read|write"],
[9,1,"group",0,"configuration","read|write"]
],
"schema":[
{
"fieldName":"id",
"originType":"integer",
"config":{"dialectName":"PostgresqlDialect"},
"type":"number",
"visible":true,
"nativeType":"bigserial",
"suggestedTypes":["number","string"],
"detectedType":"integer",
"defaultAggrType":"sum",
"basicType":"number"
},
{
"fieldName":"ident",
"originType":"integer",
"config":{"dialectName":"PostgresqlDialect"},
"type":"number",
"visible":true,
"nativeType":"int8",
"suggestedTypes":["number","string"],
"detectedType":"integer",
"defaultAggrType":"sum",
"basicType":"number"
},
{
"fieldName":"ident_type",
"originType":"string",
"config":{},
"type":"string",
"visible":true,
"nativeType":"varchar",
"suggestedTypes":["string"],
"detectedType":"string",
"defaultAggrType":"count",
"basicType":"string"
},
{
"fieldName":"object_id",
"originType":"integer",
"config":{"dialectName":"PostgresqlDialect"},
"type":"number",
"visible":true,
"nativeType":"int8",
"suggestedTypes":["number","string"],
"detectedType":"integer",
"defaultAggrType":"sum",
"basicType":"number"
},
{
"fieldName":"object_type",
"originType":"string",
"config":{},
"type":"string",
"visible":true,
"nativeType":"varchar",
"suggestedTypes":["string"],
"detectedType":"string",
"defaultAggrType":"count",
"basicType":"string"
},
{
"fieldName":"action",
"originType":"string",
"config":{},
"type":"string",
"visible":true,
"nativeType":"varchar",
"suggestedTypes":["string"],
"detectedType":"string",
"defaultAggrType":"count",
"basicType":"string"
}
],
"pagable":true,
"importSwitchable":true,
"randomable":false
}
}