目录:
1. 概述编辑
1.1 应用场景
本节介绍在 发布API 后如何使用发布的 API 进行取数。
由于数据量比较大,不可能一次性取全量数据,因此需要使用参数,分批取出全量数据。
1.2 接口说明
请求参数说明:
paging 为分页参数,如果请求中未传此参数,则返回报错。pageNum 为页数、pageSize 为每页数据条数,数值均可自定义。
params 为自定义参数,如果设置了自定义参数,但是请求中未传此参数,则返回报错。
请求示例:
{
"paging": {
"pageNum": 1,
"pageSize": 10
},
"params": [{
"name": "dtime",
"value": "2010-07-13 00:00:00"
}]
}
注:此处的 name 为 发布的API 中设置的自定义 dtime 参数。
1.3 实现思路
从接口中获取 pageNum 和 pageSize 返回值,并使用 SparkSQL 计算出数据总页数 total_pages,将其作为参数,也就是需要执行的次数;使用循环容器和内置参数 loopTimes,首次执行 pageNum 页码数为 1 ,然后递增执行取出每一页的数据,当循环次数 loopTimes<=total_pages 继续执行,当循环次数 loopTimes>total_pages 时,停止执行。
2. 操作步骤编辑
2.1 获取API信息
首先在 API 列表界面选择需要使用的API,然后再基本信息处复制路径。然后在「数据服务>认证配置」中复制 APPCode,如下图所示:
注:如果开启了黑白名单,需要保证使用 API 的环境与发布 API 环境之间信息能互通。
2.2 设置 API 基本信息
新建一个定时任务,由于需要将 API 数据解析计算后获取总页数值作为参数,因此需要使用「数据转换」节点。
在数据转换中,选择「API输入」并选择POST请求方式,输入复制的API链接,如下图所示:
选择Headers,输入参数名:Authorization,参数值:APPCode 0b1c2234-a439-4098-9e3a-0f41bae1123b,如下图所示:
注:参数值格式为:APPCode+空格+APPCode值,此处的 APPCode 为示例。
然后在Body 中输入 json 数据,如下图所示:
示例取出 2010-07-13 00:00:00 之后的数据,因此自定义参数 dtime 的 value 直接写成 2010-07-13 00:00:00,将 pageSize 设置为 10,也就是每页数据限制为 10 条,从第一个开始取数,查看返回值中,每页 10 条数据计算总页数为多少。
{
"paging": {
"pageNum": 1,
"pageSize": 10
},
"params": [{
"name": "dtime",
"value": "2010-07-13 00:00:00"
}]
}
同时可以进行JSON解析,预览即可看到使用发布的API 取出的数据,如下图所示:
4. 接口响应码说明编辑
用户在使用API 发布的数据时,可以根据以下响应码查看API 响应返回情况。
HTTP状态码200:API请求成功。
HTTP状态码400:客户端请求异常,可能是URL错误、认证异常、参数错误等。
HTTP状态码500:服务端处理异常,需要结合后台监控报错信息排查具体出错原因。