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  | 
指定字段分隔符(可选   | 
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"
  }
}