Create Download Request¶
Create a file download task.
Prerequisites¶
A read channel for downloading files is already started and running, and the channel must have the cross-source analysis function disabled. For more information, see Downloading Files.
Request Format¶
POST https://{apigw-address}/data-federation/v2.0/channels/read/{channelId}/download-request
Request Parameters (URI)¶
| Name | Location (Path/Query) | Mandatory/Optional | Data Type | Description | 
|---|---|---|---|---|
| orgId | Query | Mandatory | String | The organization ID. How to get the orgId>> | 
| channelId | Path | Mandatory | String | Channel ID. | 
Request Parameters (Body)¶
| Name | Mandatory/Optional | Data Type | Description | 
|---|---|---|---|
| taskName | Mandatory | String | Specify the name of the file download task. | 
| sourceName | Mandatory | String | Specify the data source alias (currently supporting HIVE(EnOS) data source). | 
| querySql | Mandatory | String | Specify the SQL statement for downloading files. | 
| filePackageName | Mandatory | String | Specify name of the downloaded file. | 
| files | Optional | List<JSONObject> | Configuration of the downloaded file. For details, see File Configuration Struct | 
| callbackURL | Optional | String | Call back the downlaod result with POST method. For details of the response parameters, see Download Task Callback Request Struct | 
| selfDefineQueuePara | Optional | String | Specify Hive downloading task parameters, separated by  | 
File Configuration Struct¶
| Name | Mandatory/Optional | Data Type | Description | 
|---|---|---|---|
| split | Mandatory | Boolean | Specify whether to enable partition for the downloaded file (true: enable partition; false: disable partition). | 
| encoding | Mandatory | String | Specify the file encoding method (options are utf-8 and gbk). | 
| delimiter | String | Boolean | Specify the field delimiter (options are  | 
| fileHeader | Mandatory | List<String> | Specify the file table header, separated by  | 
| fileRename | Optional | List<JSONObject> | When enabling partition for the downloaded file, specify file part names. For details, see File Rename Struct | 
Callback Request Struct¶
| Name | Data Type | Description | 
|---|---|---|
| id | String | Download task ID. | 
| returnCode | String | 0: Download succeeded, and the returned URL is for downloading data. Not 0: Download failed, and the returned URL is for error log. | 
| download_url | String | Upon success, return the file download URL. | 
| log_url | String | Upon failure, return the error log URL. | 
| dataSize | String | Data file size. | 
File Rename Struct¶
| Name | Mandatory/Optional | Data Type | Description | 
|---|---|---|---|
| file1 | Mandatory | String | Specify the file part name. | 
| file2 | Mandatory | String | Specify the file part name. | 
| file3 | Mandatory | String | Specify the file part name. | 
Response Parameters¶
| Name | Data Type | Description | 
|---|---|---|
| data | List<JSONObject> | Return the information of downloaded file, see Task ID Struct | 
Task ID¶
| Name | Data Type | Description | 
|---|---|---|
| taskId | String | ID of the created file download task. | 
Samples¶
Request Sample¶
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"
    }
  }
}
Return Sample¶
{
  "msg": "OK",
  "code": 0,
  "data": {
    "taskId": "3049d82e949e47958246ff0136a77fba"
  }
}