Universe 帮助中心

8.2.1 数据上传

创建于 2022-10-21 / 最近更新于 2023-11-17 / 2879
字体: [默认] [大] [更大]

支持通过API将数据上传到数据中心,支持:创建数据集、更新数据集。

1. 创建数据集

接口定义

请求方式:POST

请求URL:$home_url/universe/public-api/dataset/create

home_url需要填入对应环境的IP/域名,eg: http://u.guandata.com

请求参数:

NameLocation类型含义必填备注
Content-TypeHeaderString内容类型application/json;charset=utf-8
tokenHeaderString登录用的Token调用登录校验API获取(8.1 登录校验
projectIdBodyInt项目ID

数据开发平台项目ID(非项目名称)

ID获取方式:9.1 外部系统集成常见问题

dirIdBodyInt文件夹ID

文件夹ID,不填为根目录,

ID获取方式:9.1 外部系统集成常见问题

nameBodyString数据集名称数据集名称
columnsBodyJSON设置上传数据集各列属性

name:列名,type:字段类型(暂不支持)

isPrimaryKey:是否是主键

dataBodyJSON待上传的数据待上传的数据,格式详见接口调用示例

返回参数:

Name类型含义返回条件备注
idInt依据本次请求内容新创建的数据集ID运行成功
nameString依据本次请求内容新创建的数据集名称运行成功

接口调用示例

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

请求参数:

NameLocation类型含义必填备注
Content-TypeHeaderString内容类型application/json;charset=utf-8
tokenHeaderString登录用的Token调用登录校验API获取(8.1 登录校验
id请求URLInt数据集ID

需要更新的数据集ID,获取方式:

1.通过创建/更新数据集的接口返回获取;

2.手动获取9.1 外部系统集成常见问题

dataBodyJSON待上传的数据

待上传的数据,格式详见接口调用示例

batchFinishBodyBoolean是否最后一批数据不填为false,设为true会更新该数据集行数,若有大量数据分片上传,仅需在最后一个分片上传时设为true即可,注意不要频繁更新数据集行数。
overwriteBodyBoolean覆盖/增量更新true: 覆盖更新,false:增量更新

返回参数:

Name类型含义返回条件备注
idInt依据本次请求内容新创建的数据集ID运行成功
nameString依据本次请求内容新创建的数据集名称运行成功

接口调用示例

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 人点赞过