数据导入导出操作

数据的导入、导出任务一旦成功建立,结果将以邮件的形式发送到创建任务的用户邮箱里。

数据导出

接口

POST https://cloud.minapp.com/userve/v1.5/table/:table_id/export/

其中 table_id 是数据表的 ID

请求参数

参数类型必填说明
file_typeString导出文件的格式,支持 csv、json、xlsx 格式
modeString导出任务的模式
whereObject构造与 数据操作:查询数据 中 where 查询方式相同,无需转换为字符串
exclude_keysArray导出数据时排除的字段列表
include_keysArray导出数据时包含的字段列表
order_byArray导出数据时需要进行排序的字段列表
csv_customize_headersArray导出数据为 CSV 时,可指定列名
timestamp_convert_keysArray导出数据时需要进行时间类型转换的字段列表

导出任务支持两种模式:

说明
all导出全部数据
part导出部分数据

order_by 排序支持指定正序或者倒序,在字段前面加 "-" 表示倒序,目前支持排序的字段类型有 5 种,分别是:

  • boolean
  • date
  • integer
  • number
  • string代码示例
  1. var axios = require('axios').create({
  2. withCredentials: true
  3. })
  4. axios.post('https://cloud.minapp.com/userve/v1.5/table/1/export/',
  5. {
  6. file_type: "csv",
  7. mode: "all"
  8. }).then(res => {
  9. console.log(res.data)
  10. })

返回示例

  1. {
  2. "status": "ok",
  3. "job_id": "xxxxxxxxxxxxxxxxxxxx"
  4. }

状态码说明

201: 导出任务创建成功

400: 1min 内多次创建任务;数据量超过 100W;数据格式错误

获取单个导出任务信息

接口

GET https://cloud.minapp.com/userve/v1.5/table/:table_id/export/:job_id/

其中 :table_id 需替换为数据表 ID,:job_id 需替换为建立导出任务时返回的 job_id。

返回参数说明

字段名称类型说明
job_idString导出任务 ID
statusString任务状态,等待处理:pending、正在处理:ready、已完成:finish
operationString操作类型,固定为:export
file_nameString文件名
file_typeString文件类型
download_urlString下载链接
created_atInteger任务创建时间戳
updated_atInteger最近一次任务更新时间戳

代码示例

  1. var axios = require('axios').create({
  2. withCredentials: true
  3. })
  4. axios.get('https://cloud.minapp.com/userve/v1.5/table/1/export/RcnyXjPH8zLSsUYrIlPsG5qnBERYFrGF/').then(res => {
  5. console.log(res.data)
  6. })

返回示例

  1. {
  2. "created_at": 1574405175,
  3. "download_url": null,
  4. "file_name": null,
  5. "file_type": "json",
  6. "job_id": "RcnyXjPH8zLSsUYrIlPsG5qnBERYFrGF",
  7. "operation": "export",
  8. "status": "pending",
  9. "updated_at": 1574405175
  10. }

状态码说明

200: 成功

404: 找不到 job_id 对应的任务

批量获取导出任务信息

接口

GET https://cloud.minapp.com/userve/v1.5/table/:table_id/export/

其中 :table_id 需替换为你的数据表 ID。

代码示例

  1. var axios = require('axios').create({
  2. withCredentials: true
  3. })
  4. axios.get('https://cloud.minapp.com/userve/v1.5/table/1/export/').then(res => {
  5. console.log(res.data)
  6. })

返回示例

  1. {
  2. "meta": {
  3. "limit": 20,
  4. "next": null,
  5. "offset": 0,
  6. "previous": null,
  7. "total_count": 1
  8. },
  9. "objects": [
  10. {
  11. "created_at": 1574405175,
  12. "download_url": null,
  13. "file_name": null,
  14. "file_type": "json",
  15. "job_id": "RcnyXjPH8zLSsUYrIlPsG5qnBERYFrGF",
  16. "operation": "export",
  17. "status": "pending",
  18. "updated_at": 1574405175
  19. }
  20. ]
  21. }

状态码说明

200: 成功

数据导入

接口

POST https://cloud.minapp.com/userve/v1/table/:table_id/import/

提交参数

Content-Type: multipart/form-data

参数类型必填说明
fileStringY上传的文件流

支持 csv、json 文件导入,格式请于帮助中心查看

代码示例

  1. var axios = require('axios').create({
  2. withCredentials: true
  3. })
  4. var fileInput = document.getElementById('fileInput')
  5. var fd = new FormData()
  6. fd.append('file', fileInput.files[0])
  7. axios.post('https://cloud.minapp.com/userve/v1/table/:table_id/import/', fd).then(res => {
  8. console.log(res.data)
  9. })

返回示例

  1. {
  2. "status": "ok"
  3. }

状态码说明

201: 导入任务创建成功

400: 无效的文件