
# 导出数据 - ExportData
#### 功能介绍
导出数据表中的具体数据。在华为云Astro轻应用中创建的对象，其内部的数据是支持导出的，该接口支持将对象中的数据按照设定的周期频率、筛选条件进行导出。根据设定的执行时间，系统将自动生成定时任务，支持单次或定期执行导出任务。数据导出完成后，用户可以调用文件下载接口下载文件，也可以根据获得的定时任务ID查看任务执行情况。
#### URI
POST *华为云Astro轻应用域名* /u-route/baas/bulk/v1.0/export/data*?flag=templat* e\&*file_type* *=csv*
表1路径参数 
| 参数        | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|:---|:---|
| file_type | 是    | String | **参数解释**： 导出文件的格式，支持csv格式和txt格式。 **约束限制**： 不涉及。 **取值范围**： - csv：数据以csv格式导出。  - txt：数据以txt格式导出。   **默认取值**： 不涉及。 |
   
#### 请求参数
表2请求参数 
| 参数                | 是否必选 | 参数类型                                                  | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
|:---|:---|:---|:---|
| cond              | 否    | [cond] object | **参数解释**： 导出筛选条件，为一个结构体，包含conditions和conjunction两个字段。 **约束限制**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| encodeType        | 是    | String                                                | **参数解释**： 导出文件的编码格式。 **约束限制**： 不涉及。 **取值范围**： 支持"UTF-8"和"GBK"两种类型。 - utf-8：UTF-8编码。  - gbk：GBK编码。   **默认取值**： 不涉及。                                                   |
| firstScheduleDate | 否    | String                                                | **参数解释**： 首次导出时间，格式为"yyyy-MM-dd HH:mm:ss" **约束限制**： - scheduleMode=2时，必选。  - scheduleMode=1时，与isImmediate互斥。   **取值范围**： 不涉及。 **默认取值**： 不涉及。                                                      |
| objects           | 否    | Array of Strings                                      | **参数解释**： 需要导出的对象，为一字符串数组，数组中每个字符串为一个对象名，可同时导出多个对象数据，也可通过templateName参数指定模板选择导出的数据。 **约束限制**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                            |
| scheduleMode      | 是    | Number                                                | **参数解释**： 导出任务的执行次数。 **约束限制**： 不涉及。 **取值范围**： - 1：仅执行一次。  - 2：按设定的频率执行多次。   **默认取值**： 不涉及。                                                                                                       |
| scheduleInterval  | 否    | Number                                                | **参数解释**： 导出任务的执行间隔。 **约束限制**： "scheduleMode=2"时必选。 **取值范围**： 不涉及。 **默认取值**： 不涉及。                                                                                                                                                                                                                                                                             |
| intervalUnit      | 否    | Number                                                | **参数解释**： 导出任务执行间隔对应的单位。 **约束限制**： "scheduleMode=2"时必选。 **取值范围**： - Hour：小时。  - Day：天。  - Month：月。   **默认取值**： 不涉及。 |
| isImmediate       | 否    | Boolean                                               | **参数解释**： 是否立即导出。 **约束限制**： "scheduleMode=1"时可选，"scheduleMode=1"时与firstScheduleDate互斥。 **取值范围**： 不涉及。 **默认取值**： 不涉及。                                                                                                                                                                                                                                                    |
| templateName      | 否    | String                                                | **参数解释**： 数据导出使用的模板名称，也可通过objects参数直接指定希望导出的对象。 **约束限制**： 不涉及。 **取值范围**： 不涉及。 **默认取值**： 不涉及。                                                                                                                                                                                                                                                                  |
   
 表3cond参数说明 
| 参数          | 参数类型                                                                | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
|:---|:---|:---|
| conditions  | Array of [condition] objects | **参数解释**： 条件数组，数组中每项作为一个条件。 **约束限制**： 不涉及。                                                                                                                                                                                                                                                                                                                                                             |
| conjunction | String                                                              | **参数解释**： conditions数组中各个条件的组合方式。 **约束限制**： 不涉及。 **取值范围**： - AND：与。  - OR：或。   **默认取值**： 不涉及。 |
   
 表4条件参数condition说明 
| 参数       | 是否必选 | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|
| field    | 是    | **参数解释**： 筛选条件字段。 **约束限制**： 不涉及。 **取值范围**： - createDate：创建时间。  - createBy：创建者ID。  - lastModifiedDate：最后编辑时间。  - lastModifiedBy：最后编辑者ID。   **默认取值**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| operator | 是    | **参数解释** **：** 筛选运算操作。 **约束限制**： 只有时间类型的筛选字段支持所有操作，其他类型的字段仅支持eq/ne（等于或不等于）。 **取值范围**： - gt：大于。  - ge：大于等于。  - eq：等于。  - ne：不等于。  - lt：小于。  - le：小于等于。  - timeFunc：时间函数。   **默认取值**： 不涉及。                                                                                                                                                                                                                                               |
| value    | 是    | **参数解释**： 进行比较的具体值。 **约束限制**： 不涉及。 **取值范围**： 当"operator"为"timeFunc"时，支持使用以下函数： - today：今天。  - yesterday：昨天。  - last week：上周。  - last month：上月。  - last year：去年。  - this week：本周。  - this month：本月。  - this year：今年。   若比较的字段为时间类型，则此处使用的时间字符串应为"yyyy-MM-dd HH:mm:ss"格式。 **默认取值**： 不涉及。 |
   
#### 响应参数
表5响应参数 
| 参数      | 参数类型   | 描述                                                                                                                                                                                                                                                   |
|:---|:---|:---|
| resCode | String | **参数解释**： 返回码。 **取值范围**： 如果返回"0"代表请求成功，其他错误码说明请参考[错误码（数据面）](https://support.huaweicloud.com/api-astrozero/astrozero_api_0082.html)。 |
| resMsg  | String | **参数解释**： 返回消息。 **取值范围**： 成功返回"成功"，其他情况会返回具体的错误信息。                                                                                    |
| result  | String | **参数解释**： 创建成功的记录ID，成功时返回。 **取值范围**： 不涉及。                                                                                               |
   
#### 请求示例
- 示例1
  如下请求创建了一个仅执行一次的数据导出任务，执行时间为2020-05-31 00:00:00，导出的文件格式为csv，编码格式为utf-8，需要导出的对象通过名为"myTemplate"的模板指定，未指定任何导出筛选条件。
  ```
  POST https://华为云Astro轻应用域名/u-route/baas/bulk/v1.0/export/data?flag=template&file_type=csv
  {
      "scheduleMode": 1,
      "firstScheduleDate": "2020-05-31 00:00:00",
      "encodeType": "utf-8",
      "templateName": "myTemplate"
  }
  ```
  
- 示例2
  如下请求创建了周期性执行的数据导出任务，首次执行时间为2020-06-01 00:00:00，往后每隔一个月执行一次，导出的文件格式为txt，编码格式为GBK，需要导出的对象以数组的形式列在objects中，同时设定筛选条件，仅导出创建者id（createBy）为"1234567890xyz"的数据。
  ```
  POST https://华为云Astro轻应用域名/u-route/baas/bulk/v1.0/export/data?flag=template&file_type=txt
  {
      "scheduleMode": 2,
      "firstScheduleDate": "2020-06-01 00:00:00",
      "scheduleInterval": 1,
      "intervalUnit": "Month",
      "templateName": "template01",
      "encodeType": "gbk",
      "objects": [
          "Flow",
          "Page"
      ],
      "cond": {
          "conjunction": "AND",
          "conditions": [
              {
                  "field": "createdBy",
                  "operator": "eq",
                  "value": "1234567890xyz"
              }
          ]
      }
  }
  ```
  
 
#### 响应示例
- 响应示例1
  ```
  {
      "resCode": "0",
      "resMsg": "成功",
      "result": "abcdefghijklmnopqrst"
  }
  ```
  
- 响应示例2
  ```
  {
      "resCode": "0",
      "resMsg": "成功",
      "result": "1234567890abcdefg"
  }
  ```
  
 
#### 状态码
状态码请参见[状态码](https://support.huaweicloud.com/api-astrozero/astrozero_api_0081.html)。
#### 错误码
错误码请参见[错误码（数据面）](https://support.huaweicloud.com/api-astrozero/astrozero_api_0082.html)。
