Create Download Request¶
创建文件下载任务。
请求格式¶
POST https://{apigw-address}/data-federation/v2.0/channels/read/{channelId}/download-request
请求参数(URI)¶
名称 | 位置(Path/Query) | 必需/可选 | 数据类型 | 描述 |
---|---|---|---|---|
orgId | Query | 必需 | String | 用户所属的组织ID。如何获取orgId信息>> |
channelId | Path | 必需 | String | 通道ID。 |
请求参数(Body)¶
名称 | 必需/可选 | 数据类型 | 描述 |
---|---|---|---|
taskName | 必需 | String | 指定文件下载任务名称。 |
sourceName | 必需 | String | 指定读通道绑定的数据源别名(目前支持HIVE(EnOS)数据源)。 |
querySql | 必需 | String | 指定下载文件的SQL语句。 |
filePackageName | 必需 | String | 指定下载文件的名称。 |
files | 非必需 | JSONObject | 下载文件配置信息,详见 文件配置结构体 |
callbackURL | 可选 | String | 通过 URL 回调下载结果,接口请求方法为 POST。返回参数详见 下载任务回调函数请求结构体 |
selfDefineQueuePara | 可选 | String | 设置Hive下载任务参数,分隔符为 ; 。 |
文件配置结构体 ¶
名称 | 必需/可选 | 数据类型 | 描述 |
---|---|---|---|
split | 必需 | Boolean | 指定是否启用分区下载文件(true:分区;false:不分区)。 |
encoding | 必需 | String | 指定文件编码方式(可选 utf-8 或 gbk)。 |
delimiter | String | Boolean | 指定字段分隔符(可选 \t 、, 、或 ; )。 |
fileHeader | 必需 | List<String> | 指定文件表头,分隔符为 , 。 |
fileRename | 可选 | List<JSONObject> | 启用分区下载文件时,指定分区文件的名称,详见 分区文件名结构体 |
下载任务回调函数请求结构体 ¶
名称 | 数据类型 | 描述 |
---|---|---|
id | String | 下载任务ID。 |
returnCode | String | 0:下载成功,返回 URL 为下载数据的链接;非 0:下载失败,返回的 URL 为对应下载失败的链接。 |
download_url | String | 如果成功,则返回文件下载路径。 |
log_url | String | 如果失败,则返回错误日志路径。 |
dataSize | String | 数据文件大小。 |
分区文件名结构体 ¶
名称 | 必需/可选 | 数据类型 | 描述 |
---|---|---|---|
file1 | 必需 | String | 指定分区文件的名称。 |
file2 | 必需 | String | 指定分区文件的名称。 |
file3 | 必需 | String | 指定分区文件的名称。 |
响应参数¶
名称 | 数据类型 | 描述 |
---|---|---|
data | List<JSONObject> | 返回文件下载任务信息,详见 下载任务信息结构体 |
下载任务信息结构体 ¶
名称 | 数据类型 | 描述 |
---|---|---|
taskId | String | 创建的文件下载任务ID。 |
示例¶
请求示例¶
url: https://{apigw-address}/data-federation/v2.0/channels/read/{channelId}/download-request?orgId={}
method: POST
request body:
{
"taskName": "test_federation_download_openapi",
"sourceName": "hive_enos"
"querySql": "select * from students",
"filePackageName": "studentsOpenAPI",
"callbackURL":"http://localhost:8080",
"selfDefineQueuePara":"set mapreduce.map.memory.mb=1024;set mapreduce.reduce.memory.mb=2048",
"files": {
"split": true,
"encoding": "utf-8",
"delimiter": ",",
"fileHeader": [
"c1",
"c2",
"c3",
"c4",
"c5",
"c6"
],
"fileRename": {
"1": "group1",
"2": "group2",
"3": "group3",
"4": "group4"
}
}
}
返回示例¶
{
"msg": "OK",
"code": 0,
"data": {
"taskId": "3049d82e949e47958246ff0136a77fba"
}
}