8.2.1 数据上传
创建于 2022-10-21 / 最近更新于 2023-11-17 / 2824
字体:
[默认]
[大]
[更大]
支持通过API将数据上传到数据中心,支持:创建数据集、更新数据集。
1. 创建数据集
接口定义
请求方式:POST
请求URL:$home_url/universe/public-api/dataset/create
home_url需要填入对应环境的IP/域名,eg: http://u.guandata.com
请求参数:
Name | Location | 类型 | 含义 | 必填 | 备注 |
Content-Type | Header | String | 内容类型 | 是 | application/json;charset=utf-8 |
token | Header | String | 登录用的Token | 是 | 调用登录校验API获取(8.1 登录校验) |
projectId | Body | Int | 项目ID | 是 | 数据开发平台项目ID(非项目名称), ID获取方式:(9.1 外部系统集成常见问题) |
dirId | Body | Int | 文件夹ID | 是 | 文件夹ID,不填为根目录, ID获取方式:(9.1 外部系统集成常见问题) |
name | Body | String | 数据集名称 | 是 | 数据集名称 |
columns | Body | JSON | 设置上传数据集各列属性 | 否 | name:列名,type:字段类型(暂不支持), isPrimaryKey:是否是主键 |
data | Body | JSON | 待上传的数据 | 是 | 待上传的数据,格式详见接口调用示例 |
返回参数:
Name | 类型 | 含义 | 返回条件 | 备注 |
id | Int | 依据本次请求内容新创建的数据集ID | 运行成功 | |
name | String | 依据本次请求内容新创建的数据集名称 | 运行成功 |
接口调用示例
Header 示例
{
"Content-Type": "application/json;charset=utf-8",
"token": "ab7f1665-8dfc-4d8f-928d-c7a5aefc9332" /*登录校验接口获得的Token(参考8.1)*/
}
POST Body 示例
{
"projectId": 2,
"dirId":15, /* 可选,设置文件夹ID,不填为根目录 */
"name": "my_dataset_name", /* 必填,创建数据集时必须指定数据集名称*/
"columns": [ /* 可选,设置各字段 */
{
"name": "column1",
"type": "string", /* 可选, 如果没有设置, 则系统会自动读取前100行来推测其列的数据类型, string, integer, double, timestamp, long, short, float, date */
"isPrimaryKey": true /* 可选,默认为false,设置主键,设置了primaryKey后,多次上传时会更新原有数据,否则,会追加到原有数据后 */
}
],
"data": [
{
"column1": "data1_1",
"column2": "data1_2"
},
{
"column1": "data2_1",
"column2": "data2_2"
}
]
}
Response
//上传成功
{
"code": 0,
"msg": "success",
"data":
{
"id": 523, /*新创建的数据集ID*/
"name":"my_dataset_name" /*数据集名称*/
}
}
//上传失败
{
"code": 110013, /*错误代码*/
"msg": "数据集名称已经存在", /*失败错误信息*/
}
2. 更新数据集
接口定义
请求方式:POST
请求URL:$home_url/universe/public-api/dataset/{id}/update
home_url需要填入对应环境的IP/域名,eg: http://u.guandata.com
请求参数:
Name | Location | 类型 | 含义 | 必填 | 备注 |
Content-Type | Header | String | 内容类型 | 是 | application/json;charset=utf-8 |
token | Header | String | 登录用的Token | 是 | 调用登录校验API获取(8.1 登录校验) |
id | 请求URL | Int | 数据集ID | 是 | 需要更新的数据集ID,获取方式: 1.通过创建/更新数据集的接口返回获取; 2.手动获取(9.1 外部系统集成常见问题) |
data | Body | JSON | 待上传的数据 | 是 | 待上传的数据,格式详见接口调用示例 |
batchFinish | Body | Boolean | 是否最后一批数据 | 否 | 不填为false,设为true会更新该数据集行数,若有大量数据分片上传,仅需在最后一个分片上传时设为true即可,注意不要频繁更新数据集行数。 |
overwrite | Body | Boolean | 覆盖/增量更新 | 是 | true: 覆盖更新,false:增量更新 |
返回参数:
Name | 类型 | 含义 | 返回条件 | 备注 |
id | Int | 依据本次请求内容新创建的数据集ID | 运行成功 | |
name | String | 依据本次请求内容新创建的数据集名称 | 运行成功 |
接口调用示例
Header 示例
{
"Content-Type": "application/json;charset=utf-8",
"token": "ab7f1665-8dfc-4d8f-928d-c7a5aefc9332" /*登录校验接口获得的Token(参考8.1)*/
}
POST Body 示例
{
"data": [
{
"column1": "data1_1",
"column2": "data1_2"
},
{
"column1": "data2_1",
"column2": "data2_2"
}
],
"overwrite": false,
"batchFinish": false /* 可选,默认为false,分批上传时,表示是否是最后一批*/
}
Response
//更新成功
{
"code": 0,
"msg": "success",
"data":{
"id":523, /*数据集ID*/
"name":"my_dataset_name" /*数据集名称*/
}
}
//更新失败
{
"code": 170002, /*错误代码*/
"msg": "更新数据集失败", /*失败错误信息*/
"code": 110003, /*错误代码*/
"msg": "数据集不存在", /*失败错误信息*/
"code": 10018, /*错误代码*/
"msg": "项目不存在", /*失败错误信息*/
"code": 30002, /*错误代码*/
"msg": "用户没有项目权限", /*失败错误信息*/
"code": 170002, /*错误代码*/
"msg": "其他异常导致的失败", /*失败错误信息*/
}
6 人点赞过