数据导入导出操作

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

通过 数据表 ID数据表名 实例化一个 TableObject 对象,以下操作都是在该对象上进行操作:

let MyTableObject = new BaaS.TableObject(tableID | tableName)

参数说明

tableID 和 tableName 二选一,不能同时存在

参数名类型说明
tableIDinteger数据表的 ID
tableNamestring数据表名

数据导出

MyTableObject.exportData(fileType, mode, start, end)

参数说明

参数类型必填说明
fileTypeString导出文件的格式,支持 csv、json 格式
modeString导出任务的模式
startInteger / Date / String导出部分数据的起始时间
endInteger / Date / String导出部分数据的结束时间

导出任务支持两种模式:

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

示例代码

  1. let MyTableObject = new BaaS.TableObject(tableName)
  2. MyTableObject.exportData('json', 'all').then(res => {
  3. // success
  4. }, err => {
  5. // err
  6. })

返回示例 (res.status === 200)

res.data:

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

数据导入

MyTableObject.importData({dataFileUrl, dataFilePath}, fileType)

参数说明

参数类型必填说明
dataFileUrlString准备导入的备份数据 url (dataFileUrl 与 dataFile 两者必须指定一个)
dataFileString / Buffer文件路径(目前仅支持沙箱环境的 tmp 目录) / 文件 Buffer
fileTypeString导入文件的格式,支持 csv、json 格式

示例代码

  1. /* url */
  2. let MyTableObject = new BaaS.TableObject(tableName)
  3. MyTableObject.importData({dataFileUrl: dataUrl}, 'csv').then(res => {
  4. // success
  5. }, err => {
  6. // err
  7. })
  8. /* 本地文件路径 */
  9. const fs = require('fs')
  10. const file = fs.createWriteStream('/tmp/data.csv')
  11. BaaS.request.get(dataUrl).then(res => {
  12. file.write(res.data)
  13. file.end()
  14. let MyTable = new BaaS.TableObject(tableID)
  15. MyTable.importData({dataFile: '/tmp/data.csv'}, 'csv').then(res => {
  16. // success
  17. }, err => {
  18. // err
  19. })
  20. })
  21. /* Buffer */
  22. BaaS.request.get(dataUrl).then(res => {
  23. let MyTable = new BaaS.TableObject(tableName)
  24. MyTable.importData({dataFile: Buffer.from(res.data)}, 'csv').then(res => {
  25. // success
  26. }, err => {
  27. // err
  28. })
  29. })

返回示例 (res.status === 200)

res.data:

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