
# 导出数据（废弃）
#### 功能介绍
该API用于从DLI表中导出数据到文件。
- 该API为异步操作。
- 目前只支持从DLI表导出数据到OBS中，且导出的路径必须指定到文件夹级别。OBS路径中不支持逗号，且其中的桶名不能以正则格式".\[0-9\]+(.\*)"结尾，即，若桶名包含"."， 则最后一个"."不可以数字开头（例如：\*\*.12abc 或 \*\*.12）。
- 支持跨账号导出数据，即，如果B账户对A账户授权后，A账户拥有B账户OBS桶的元数据信息和权限信息的读取权限，以及路径的读写权限，则A账户可将数据导出至B账户的OBS路径中。
![](https://support.huaweicloud.com/api-dli/public_sys-resources/note_3.0-zh-cn.png)
当前接口已废弃，不推荐使用。
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/DLI/doc?api=ExportTable)中调试该接口。
#### URI
- URI格式： POST /v1.0/{project_id}/jobs/export-table
  
- 参数说明
  表1URI参数 
  | 参数名称       | 是否必选 | 参数类型   | 说明                                                                                     |
  |:---|:---|:---|:---|
  | project_id | 是    | String | 项目编号，用于资源隔离。获取方式请参考[获取项目ID](https://support.huaweicloud.com/api-dli/dli_02_0183.html)。 |
     
  
 
#### 请求消息
表2请求参数 
| 参数名称               | 是否必选 | 参数类型    | 说明                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|:---|
| data_path          | 是    | String  | 导出数据的储存路径（当前仅支持将数据存储在OBS上）。另外，"export_mode"配置为"errorifexists"时，该路径下的文件夹须不存在，如请求样例中的"test"文件夹。                                                                                                                                                                                                                                                                       |
| data_type          | 是    | String  | 导出数据的类型，目前API支持csv和json格式数据。                                                                                                                                                                                                                                                                                                                                        |
| database_name      | 是    | String  | 被导出数据的表所在的数据库名称。                                                                                                                                                                                                                                                                                                                                                    |
| table_name         | 是    | String  | 被导出数据的表名称。                                                                                                                                                                                                                                                                                                                                                          |
| compress           | 是    | String  | 导出数据的压缩方法。目前支持gzip、bzip2、deflate压缩方式；若不希望压缩，则输入none。                                                                                                                                                                                                                                                                                                                |
| queue_name         | 否    | String  | 指定执行该任务的队列。若不指定队列，将采用default队列执行操作。                                                                                                                                                                                                                                                                                                                                 |
| export_mode        | 否    | String  | 导出模式，目前支持"ErrorIfExists"，"Overwrite"，不指定"export_mode"则默认为"ErrorIfExists"。 - "ErrorIfExists"：存在即报错。指定的导出目录必须不存在，如果指定目录已经存在，系统将返回错误信息，无法执行导出操作。  - "Overwrite"：覆盖。在指定目录下新建文件，会删除已有文件。   |
| with_column_header | 否    | Boolean | 导出csv和json格式数据时，是否导出列名。 - 设置为"true"，表示导出列名。  - 设置为"false"，表示不导出列名。  - 若为空，默认为"false"。                              |
   
#### 响应消息
表3响应参数 
| 参数名称       | 是否必选 | 参数类型    | 说明                                                                                                                                                                                                                           |
|:---|:---|:---|:---|
| is_success | 否    | Boolean | 请求是否发送成功。"true"表示请求发送成功。                                                                                                                                                                                                     |
| message    | 否    | String  | 系统提示信息，执行成功时，信息可能为空。                                                                                                                                                                                                         |
| job_id     | 否    | String  | 此SQL将生成并提交一个新的作业，返回作业ID。用户可以使用作业ID来查询作业状态和获取作业结果。                                                                                                                                                                            |
| job_mode   | 否    | String  | 作业执行模式： - async：异步  - sync：同步   |
   
#### 请求示例
将db2.t2的数据导出至OBS，并以json格式存储。
```
{
    "data_path": "obs://home/data1/DLI/test",
    "data_type": "json",
    "database_name": "db2",
    "table_name": "t2",
    "compress": "gzip",
    "with_column_header": "true",
    "queue_name": "queue2"
}
```
#### 响应示例
```
{
  "is_success": true,
  "message": "export all data from table db2.t2 to path obs://home/data1/DLI/test started",
  "job_id": "828d4044-3d39-449b-b32c-957f7cfadfc9",
  "job_mode":"async"
}
```
#### 状态码
状态码如[表4]所示。
 表4状态码 
| 状态码 | 描述       |
|:---|:---|
| 200 | 导出成功。    |
| 400 | 请求错误。    |
| 500 | 内部服务器错误。 |
   
#### 错误码
调用接口出错后，将不会返回上述结果，而是返回错误码和错误信息，更多介绍请参见[错误码](https://support.huaweicloud.com/api-dli/dli_02_0056.html)。
