文档中心 > YunOS开放平台

META数据接入多任务开发指南

更新时间:2017/08/17 访问次数:1658

1、说明

  • a. 适用于数据量较大,拉取数据行数大于10000行或数据大于1G
  • b.服务器支持一定程度的并发
  • c.一般适合全量数据的导入

2、数据交互

多任务分两次请求,其中:
* a、第一次请求,需要返回总共分的批次,以及批次号信息;
* b、第二次请求,需要根据批次号返回对应的数据文件流;

3、接口请求方式

HTTP POST

4、接口传入参数

4.1、http post请求的参数原型

4.1.1、签名模式示例

request中只有一个入参key=data,示例如下:

1
"data": "{\"sign\":\"3AE1EA803199E3273B34244F94555B76\",\"sysTime\":\"1479795735910\",\"traceId\":\"a5NaR5wz51k6mrNUCcISWXjqs9HSWDxv\",\"offset\":\"-1\",\"size\":\"3\"}"

4.1.2、加密模式示例

request中有两个入参,key=data(数据),key=k(加密后的随机秘钥),示例如下:

1
2
"data": "KW75EvX/1tvjUzfHfFAsYKkmLL4xQJuoqPsT6KyQ4S3IJJPuGjxUBIMFYh+oRI0+RnPdgfg07kvlzTAb3fmDsUaF0BitJyiAt0m6SFrbg8X9Z0R5UbBI0Y6VNkTovB/tHedTvlKVvtxvO823jsRTPV3vU49gg9fBGwMLeb69MPbJ0t3mO7PkV++mazlnEmY6", // 加密后的参数
"k": "+D4T2AFUrtFMsYjGS04e5gtrQoFNFrPPousdkc8afQg=" //随机密钥

4.2、data字段详细说明

备注:以下字段所有必填

参数名 示例(string) 说明
traceId a5OPxOAuBcIybHSWDxPhpsNUiqsttNAQ 本次请求的id号,将该id一并带回,方便问题跟踪
sign 37BC2C64D415127BBEA6ED571648C388 参数签名
sysTime 1482405340376 请求的时间戳
batchInfo 省略 批次号,开发者返回,首次访问为空

5、接口返回值

5.1、首次请求返回参字段详细说明

备注:以下字段所有必填

参数名 示例(string) 说明
code 200 返回错误码,枚举值详见:7、code错误码约定
msg OK 成功
traceId a5OPxOAuBcIybHSWDxPhpsNUiqsttNAQ 本次请求的id号,将该id一并带回,方便问题跟踪
batchInfoList [“1”,“2”,“3”,“4”] 批次号列表,用于分批拉取
sign 37BC2C64D415127BBEA6ED571648C388 数据签名

首次返回值示例

1
2
3
4
5
6
7
{
    "code": 200,
    "traceId": "a5LitlBGeoMAcIyPBQBQBwOg51k6GSiq", //请求的traceId带回
    "msg": "success",
    "batchInfoList": ["1","2","3","4"], //数据部分
    "sign": "D5033494985DA52F59AE8438510E80FB"//md5(batchInfoList)
}

5.2、二次请求返回参字段详细说明

第二次请求数据时,需要返回一个zip文件流,文件满足以下条件:
* a、每个zip文件能独立解压
* b、每个zip文件解压后,是csv格式的文本文件,编码UTF-8,以csv后缀,如xx.csv
* c、每个csv文件第一行是表头
* d、各个字段之间通过不可见字符(‘\u0001’)间隔
* e、每个key对应的value是个string
* f、如value为object或者array,需要输出为json序列化的字符串;如object采用{…}结构,array采用[]结构
* g、如value为普通string,但是中间可能包含双引号(“或"),需要输出为json序列化的字符串

6、代码示例

代码提取地址http://yunpan.taobao.com/s/71sepP5fL7 (提取码:HjGW3M)

类文件名 说明
DataPullParallelSdkServlet.java 实现基类
DataPullParallelAesServlet.java 加密模式代码示例
DataPullParallelSignServlet.java 签名模式代码示例
PullDataParallelAesTest.java 加密模式,模拟测试代码
PullDataParallelSignTest.java 签名模式,模拟测试代码

7、code错误码约定

错误码 说明
200 成功
400 参数异常
403 签名验证失败
404 没有数据,数据拉取结束符
500 参数异常

FAQ

关于此文档暂时还没有FAQ
返回
顶部