首页 > 云海(数据开放) > 帮助文档 > 接口如何使用

接口如何使用

一、数据接口生成流程

1.开发计算程序:

首先在"数据开发"模块开发一个用于产出有效数据的程序如:A。不断调试、运行直到结果满意。在这期间可能需要新建数据表。其中最后计算的结果一定需要写入一个创建的"结果表",如表 table。

2.将程序部署为计算任务:

当程序结果满足开发要求后,可以部署计算任务,用于定时在分布式计算集群上运行部署的程序完成计算。如 A 程序被部署的计算任务为Task A。Task A需要经过代码审核、试跑审核,都通过后即可"上线"。即可每天定时运行,产生数据,写入结果表table。

3.部署相关导出任务:

需要再部署一个导出任务,用于对计算任务的结果从Hadoop集群导出到Mysql数据库中,用以读取。

4.发布数据接口:

APP需要调用表table中的a=3及b=4 的列c,则需要到"数据接口发布"页,在"接口SQL"中填写以下SQL:

select column from table where condition1=${arg1} and condition2=${arg2} 其中arg1,arg2必须被"添加变量"。然后进行"快速测试",测试结果最多返回10条,测试通过后则可以提交。

注意:

(1)目前只支持查询类型为SIMPLE的SQL, 即形式为"select … from .. where …."形式的SQL,不支持join、sub query等复杂查询。

(2)参数需要以${}包围起来,参数的名称就是入参中参数的名称

(3)部分参数名称是系统预留,这些变量的取值自动获取,人工传入的值会被忽略

sys_seller_id: seller id

sys_appkey:发出API调用的appkey

例如:接口的SQL为:

Select data from table_seller where amount = ${a1} and sellerid=${sys_seller_id}

则需要添加两个变量a1,sys_seller_id。并在语句中${}包起。

(4)使用查询的时候,变量a1的值通过参数传入,而卖家id sys_seller_id则通过access_token直接获取,无需用户传入。

(5)通过查询,返回结果中如果有NULL值,直接返回NULL

快速测试:用户点击后对输入的SQL进行测试。

保存:点击后保存当前的数据接口内容,跳转【数据接口列表】页

提交发布:点击后跳转到【数据接口列表】页

发布成功后,会生成一个接口ID,如3221。

二、接口使用常用参数汇总

数据引擎提供了获取数据接口:
jingdong. hostingdata.jddp.data.list.get:用于获取自己开发的数据表中的数据
  限制说明:
  1. 返回结果不能超过5000条
  2. 返回结果字节数不超过10M

系统级别输入参数

methodStringAPI接口名称
access_tokenString采用OAuth授权方式为必填参数
app_keyString应用的app_key
signString签名
timestampString时间戳,格式为yyyy-MM-dd HH:mm:ss,例如:2011-06-16 13:23:30。京东API服务端允许客户端请求时间误差为6分钟
formatString暂时只支持json
vString

API协议版本,可选值:2.0

应用级别参数

参数名称类型是否必须示例值说明
sqlIdint3465数字接口ID
parameterStringdate_s=20121231,date_e=20130215sql中需要绑定的参数。注意逗号分隔,与sql顺序一致。

 {
  "360buy_param_json":{
  " sqlId ":"1067"
  " parameter ": date_s=20121231,date_e=20130215
  }
  }

返回结果

名称类型是否必须示例值说明
dataListdataList SQL查询的返回结果
resultCodeNumber 接口返回信息码

dataList属性

名称类型是否必须示例值说明
columnnameStringvalue1属性与查询sql条件一致,有多少查询条件就返回多少个属性。值为查询返回值。

{
  "jd_jdbc_data_list_get_response":{
  "resultCode":"10"
  " dataList ":[{
  "Columnname1":" value1",
  "Columnname2":"value2"
  }{
    "Columnname1":" value3",
    "Columnname2":"value4"
  }]
  }
  }

三、上传接口

数据上传使用jingdong. hostingdata.jddp.data.add接口,接口参数如下

系统级别输入参数

名称类型是否必须描述
methodStringAPI接口名称
access_tokenString采用OAuth授权方式为必填参数
app_keyString应用的app_key
signString签名
timestampString时间戳,格式为yyyy-MM-dd HH:mm:ss,例如:2011-06-16 13:23:30。京东API服务端允许客户端请求时间误差为6分钟
formatString暂时只支持json
vStringAPI协议版本,可选值:2.0

应用级别参数

 {
  "360buy_param_json":{
  " tableName ":"pri_upload.mytable",
  " dataList ":"name=joy1,age=11;name=joy2,age=16"   
  }
  }

返回结果

名称类型是否必须示例值描述
resultMsgString  返回信息
resultCodeString 0 表示成功; -1 表示失败接口返回信息码

{
"jingdong_hostingdata_jddp_data_add_response": {
"result": {
"resultMsg": "",
"resultCode": "0 表示成功; -1 表示失败"
}
}
}

 

四、任务状态查询接口

查询任务状态使用jingdong.hostingdata.jddp.status.get接口,接口参数如下

系统级别输入参数

 

名称类型是否必须描述
methodStringAPI接口名称
access_tokenString采用OAuth授权方式为必填参数
app_keyString应用的app_key
signString签名
timestampString时间戳,格式为yyyy-MM-dd HH:mm:ss,例如:2011-06-16 13:23:30。京东API服务端允许客户端请求时间误差为6分钟
formatString暂时只支持json
vStringAPI协议版本,可选值:2.0

 

应用级别参数

名称类型是否必须示例值说明
parameterStringquery_type=1,action_id=11,date=20140522形式为param1=value1,param2=value2,...的字符串, 参数名称只能包含字母数字和下划线. 必填参数: query_type:用于描述查询类型,目前只有1,表示查询任务的运行状态 其他参数: action_id:当query_type为1的时候必填,用于表示需要查询的任务的id,date:当query_type为1的时候必填,用于表示 任务运行的日期,格式必须是yyyyMMdd

 

{
  "360buy_param_json":{
   " parameter ": query_type=1,action_id=11,date=20140522
  }
}

 

 

返回结果

 

名称类型是否必须示例值描述
resultCodeString0表示成功; -1 表示失败返回code
column_listString[] ['status','start_time','end_time']返回结果的列名的集合
当query_type为1的时候,有status,start_time,end_time三个字段 status的状态如下: 1:等待 2:就绪 3:运行中 4:成功 5:失败 start_time:任务开始运行时间,只有status为3、4、5时候有效,格式是yyyy-MM-dd HH:mm:ss,其他情况为空 end_time:任务结束时间,只有status为4、5时候有效,格式是yyyy-MM-dd HH:mm:ss,其他情况下为空
row_listjava.util.List  返回的数据集
resultMsgString  返回信息

 

{
"jingdong_hostingdata_jddp_status_get_response": {
"result": {
"resultMsg": "",
"row_list": [
{
"queryRow": {
"values": [
{
"value": ""
}
]
}
}
],
"column_list": "['status','start_time','end_time']",
"resultCode": "0 表示成功; -1 表示失败"
}
}
}

 


来源ID名称映射表

src_id_lv1src_name_lv1src_desc_lv1src_id_lv2src_name_lv2解析refer_url
sy1000京东首页京东首页|www.jd.com1站内一级域名为JD.com   京东首页 京东首页|www.jd.com
fc1000_[fashion]一级类目一级类目|channel.jd.com/fashion.html1站内一级类目 一级类目|channel.jd.com/fashion.html
sc1000_[1343]二级类目二级类目|channel.jd.com/1315-1343.html1站内二级类目 二级类目|channel.jd.com/1315-1343.html
tc1000_[1455]三级类目三级类目|https://list.jd.com/1672-2576-1455.html1站内三级类目 三级类目|https://list.jd.com/1672-2576-1455.html
ss1000京东搜索京东搜索?|https://search.jd.com/Search?keyword=*1站内京东搜索 京东搜索?|https://search.jd.com/Search?keyword=*
not1000站内其他来源站内其它来源|除首页、一级类目、二级类目、三级类目外的*.jd.*页面。1站内其它解析到京东二级域名:
direct直接来源来源为空|NULL2站外如:my.jd.com
[tieba.baidu.com]来源网站二级域名外部来源网站二级域名2站外 
联盟ID联盟ID联盟ID2站外一级域名不为jd.com
wot1000站外其它来源站外其它来源。2站外解析到二级域名,如tieba.baidu.com