数据导入导出操作

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

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

let MyTableObject = new BaaS.TableObject(tableID)

参数说明

参数名类型说明

tableID

integer

数据表的 ID

数据导出

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

参数说明

参数类型必填说明

fileType

String

导出文件的格式,支持 csv、json、xlsx 格式

mode

String

导出任务的模式

start

Integer / Date / String

导出部分数据的起始时间

end

Integer / Date / String

导出部分数据的结束时间

导出任务支持两种模式:

说明

all

导出全部数据

part

导出部分数据

示例代码

exports.main = async function exportData() {
  try {
    let MyTableObject = new BaaS.TableObject(tableID)
    let res = await MyTableObject.exportData('json', 'all')
    // success
    return res
  } catch(err) {
    // error
    throw err
  }
}
function exportData() {
  let MyTableObject = new BaaS.TableObject(tableID)
  MyTableObject.exportData('json', 'all').then(res => {
    // success
    callback(null, res)
  }).catch(err => {
    // error
    callback(err)
  })
}

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

res.data:

{
  "status": "ok"
}

数据导入

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

参数说明

参数类型必填说明

dataFileUrl

String

准备导入的备份数据 url (dataFileUrl 与 dataFile 两者必须指定一个)

dataFile

String / Buffer

文件路径(目前仅支持沙箱环境的 tmp 目录) / 文件 Buffer

fileType

String

导入文件的格式,支持 csv、json、xlsx 格式

示例代码

exports.main = async function importData() {
  try {
    /* url */
    let MyTableObject = new BaaS.TableObject(tableID)
    let res = await MyTableObject.importData({dataFileUrl: dataUrl}, 'csv')
    // success

    /* 本地文件路径 */
    const fs = require('fs')
    const file = fs.createWriteStream('/tmp/data.csv')
    let res = await BaaS.request.get(dataUrl)
    file.write(res.data)
    file.end()
    let MyTable = new BaaS.TableObject(tableID)
    let importRes = await MyTable.importData({dataFile: '/tmp/data.csv'}, 'csv')
    // success
    return res

    /* Buffer */
    let res = await BaaS.request.get(dataUrl)
    let MyTable = new BaaS.TableObject(tableID)
    let importRes = await MyTable.importData({dataFile: Buffer.from(res.data)}, 'csv')
    // success
    return res
  } catch(err) {
    // error
    throw err
  }
}
function importData() {
  /* url */
  let MyTableObject = new BaaS.TableObject(tableID)
  MyTableObject.importData({dataFileUrl: dataUrl}, 'csv').then(res => {
    // success
    callback(null, res)
  }).catch(err => {
    // error
    callback(err)
  })

  /* 本地文件路径 */
  const fs = require('fs')
  const file = fs.createWriteStream('/tmp/data.csv')
  BaaS.request.get(dataUrl).then(res => {
    file.write(res.data)
    file.end()
    let MyTable = new BaaS.TableObject(tableID)
    MyTable.importData({dataFile: '/tmp/data.csv'}, 'csv').then(res => {
      // success
      callback(null, res)
    }).catch(err => {
    // error
    callback(err)
    })
  })

  /* Buffer */
  BaaS.request.get(dataUrl).then(res => {
    let MyTable = new BaaS.TableObject(tableID)
    MyTable.importData({dataFile: Buffer.from(res.data)}, 'csv').then(res => {
      // success
      callback(null, res)
    }).catch(err => {
    // error
    callback(err)
    })
  })
}

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

res.data:

{
  "status": "ok"
}

Last updated