
# 导出查询结果 - ExportSqlJobResult
#### 功能介绍
该API用于将SQL语句的查询结果导出到OBS对象存储中，只支持导出"QUERY"类型作业的查询结果。
- 该API为异步操作。
- 目前只支持导出数据到OBS中，且导出的路径必须指定到文件夹级别。OBS路径中不支持逗号，且其中的桶名不能以正则格式".\[0-9\]+(.\*)"结尾，即，若桶名包含"."， 则最后一个"."不能以数字开头（例如：\*\*.12abc 或 \*\*.12）。
 
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/DLI/doc?api=ExportSqlJobResult)中调试该接口。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限，具体权限要求请参见[权限及授权项说明](https://support.huaweicloud.com/api-dli/dli_02_0375.html)。
#### URI
- URI格式： POST /v1.0/{project_id}/jobs/{job_id}/export-result
  
- 参数说明
  表1URI 参数 
  | 参数名称       | 是否必选 | 参数类型   | 说明                                                                                     |
  |:---|:---|:---|:---|
  | project_id | 是    | String | 项目编号，用于资源隔离。获取方式请参考[获取项目ID](https://support.huaweicloud.com/api-dli/dli_02_0183.html)。 |
  | job_id     | 是    | String | 作业ID。                                                                                  |
     
  
 
#### 请求消息
表2请求参数 
| 参数名称               | 是否必选 | 参数类型    | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|:---|
| data_path          | 是    | String  | 导出结果存储的路径（当前仅支持将数据存储在OBS上）。另外，该路径下的文件夹须不存在，如请求样例中的"path"文件夹。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| compress           | 否    | String  | 导出数据的压缩格式，目前支持gzip，bzip2和deflate压缩方式； 默认值为none，表示不压缩。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| data_type          | 是    | String  | 导出数据的存储格式，目前API支持csv和json格式。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| queue_name         | 否    | String  | 指定执行该任务的队列。若不指定队列，将采用default队列执行操作。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| export_mode        | 否    | String  | 导出模式，目前支持"ErrorIfExists"，"Overwrite"，不指定"export_mode"则默认为"ErrorIfExists"。 - "ErrorIfExists"：存在即报错。指定的导出目录必须不存在，如果指定目录已经存在，系统将返回错误信息，无法执行导出操作。  - "Overwrite"：覆盖。在指定目录下新建文件，会删除已有文件。                                                                                                                                                                                                                 |
| with_column_header | 否    | Boolean | 导出csv和json格式数据时，是否导出列名。 - 设置为"true"，表示导出列名。  - 设置为"false"，表示不导出列名。  - 若为空，默认为"false"。                                                                                                                                                                                                                                                     |
| limit_num          | 否    | Integer | 需要导出的数据数量，默认值为"0"，表示全部导出。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| encoding_type      | 否    | String  | 导出数据的编码格式。默认使用utf-8。 支持以下编码格式： - utf-8  - gb2312  - gbk                                                                                                                                                                                                                                                      |
| quote_char         | 否    | String  | 用户自定义引用字符。 默认值: 英文双引号（"） 仅在数据格式为csv格式时支持配置引用字符。 引用字符在导出作业结果时用于标识文本字段的开始和结束，即用于分割字段。 仅支持设置一个字符。 主要用于处理包含空格、特殊字符或与分隔符相同字符的数据。                                                                                                                                                                                                                                                                                                               |
| escape_char        | 否    | String  | 用户自定义转义字符。 默认值：英文反斜杠（\\） 仅在数据格式为csv格式时支持配置转义字符。 在导出结果中如果需要包含特殊字符，如引号本身，可以使用转义字符（反斜杠 \\ ）来表示。 仅支持设置一个字符。 常用转义字符的场景： - 假设两个引用字符之间的数据内容存在第三个引用字符，则在第三个引用字符前加上转义字符，从而避免字段内容被分割。  - 假设数据内容中原本就存在转义字符，则在这个原有的转义字符前再加一个转义字符，避免原来的那个字符起到转义作用。   |
   
#### 响应消息
表3响应参数 
| 参数名称       | 是否必选 | 参数类型    | 说明                                                                                                                                                                                                                           |
|:---|:---|:---|:---|
| is_success | 是    | Boolean | 请求发送是否成功。"true"表示请求发送成功。                                                                                                                                                                                                     |
| message    | 是    | String  | 系统提示信息，执行成功时，信息可能为空。                                                                                                                                                                                                         |
| job_id     | 否    | String  | 提交请求成功时，生成并提交一个新的作业，返回作业ID。用户可以使用作业ID来查询作业状态和获取作业结果。                                                                                                                                                                         |
| job_mode   | 否    | String  | 作业执行模式： - async：异步  - sync：同步   |
   
#### 请求示例
将SQL语句的查询结果导出到OBS中以json格式存储。
```
{
  "data_path": "obs://obs-bucket1/path",
  "data_type": "json",
  "compress": "gzip",
  "with_column_header": true,
  "queue_name": "queue2",
  "limit_num": 10
}
```
#### 响应示例
```
{
  "is_success": true,
  "message": "",
  "job_id": "37a40ef9-86f5-42e6-b4c6-8febec89cc20",
  "job_mode":"async"
}
```
#### 状态码
状态码如[表4]所示。
 表4状态码 
| 状态码 | 描述       |
|:---|:---|
| 200 | 导出成功。    |
| 400 | 请求错误。    |
| 500 | 内部服务器错误。 |
   
#### 错误码
调用接口出错后，将不会返回上述结果，而是返回错误码和错误信息，更多介绍请参见[错误码](https://support.huaweicloud.com/api-dli/dli_02_0056.html)。
