更新时间:2024-07-18 GMT+08:00
分享

导出数据

功能介绍

导出数据表中的具体数据。平台中创建的对象中,其内部的数据是支持导出的,该接口支持将对象中的数据按照设定的周期频率、筛选条件进行导出。根据设定的执行时间,会自动生成定时任务,定期或单次执行导出任务,数据导出完成后可调用文件下载接口下载文件,导出完成后您可根据得到的定时任务id查看该任务的执行情况。

URI

POST AstroZero域名/u-route/baas/bulk/v1.0/export/data?flag=template&file_type=csv

表1 路径参数

参数

是否必选

参数类型

描述

file_type

String

参数解释

导出文件的格式,支持csv格式和txt格式。

约束限制

不涉及。

取值范围

  • csv:数据以csv格式导出。
  • txt:数据以txt格式导出。

默认取值

不涉及。

请求参数

表2 请求参数

参数

是否必选

参数类型

描述

cond

cond objects

参数解释

导出筛选条件,为一个结构体,包含conditions和conjunction两个字段。

约束限制

不涉及。

encode-type

String

参数解释

导出文件的编码格式。

约束限制

不涉及。

取值范围

支持“UTF-8”和“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参数直接指定希望导出的对象。

约束限制

不涉及。

取值范围

不涉及。

默认取值

不涉及。

表3 cond参数说明

参数

参数类型

描述

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”代表请求成功,其他错误码说明请参考错误码

resMsg

String

参数解释

返回消息。

取值范围

如果成功状态,通常会返回“Success”,其他情况会返回具体的错误信息。

result

String

参数解释

创建成功的记录ID,成功时返回。

取值范围

不涉及。

请求示例

  • 示例1
    如下请求创建了一个仅执行一次的数据导出任务,执行时间为2020-05-31 00:00:00,导出的文件格式为csv,编码格式为utf-8,需要导出的对象通过名为“myTemplate”的模板指定,未指定任何导出筛选条件。
    POST https://AstroZero域名/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://AstroZero域名/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"
    }

状态码

状态码请参见状态码

错误码

错误码请参见错误码

相关文档