async chooseExcel() {
let that = this
try {
// 选择文件
let path = await wx.chooseMessageFile({
count: 1,
type: 'file'
})
path = path.tempFiles[0].path
console.log("path", path)
// 2.将选择的文件上传到云存储
let fileID = await wx.cloud.uploadFile({
cloudPath: that.data.file_path,
filePath: path
})
// 3获取access_token
let access_token = await wx.cloud.callFunction({
name: "getToken"
})
// 将access_token格式化
access_token = JSON.parse(access_token.result).access_token
console.log("access_token", access_token)
//4.调用csvtoDB将access_Token作为参数传递到云函数,执行上传json文件到数据库操作
let result = await wx.cloud.callFunction({
name: "csvToDB",
data: {
access_token, //将access_token作为参数传递给云函数
}
})
let job_id = result.result.job_id
console.log("执行上传任务的任务ID", job_id)
// 监控jon_id进度
let total = await wx.cloud.callFunction({
name: "progress",
data: {
job_id,
access_token,
}
})
console.log("进度监控", total)
我想使用https://api.weixin.qq.com/tcb/databasemigrateimport?access_token=ACCESS_TOKEN(csvToDB这个云函数)
实现上传json文件到数据库表中,然后等数据都等上传完后,统计上传的数据总数,但是上述代码在执行csvtoDB这个云函数时,不是等所有的数据上传完之后再接着走下边的代码,而是直接就执行下边的代码了,这样导致在监控上传任务返回的job_id时出现返回的result内容为:result: "{"errcode":0,"errmsg":"ok","status":"waiting","record_success":0,"record_fail":0,"error_msg":"","file_url":""}"
状态是任务正在进行时,成功为0条数据(其实一会之后都成功上传了),应该怎么实现只有等数据都上传完之后再去执行对数据库表进行account统计总数操作,应该通过什么逻辑实现得到本次上传了多少条数据?困扰好久了,整个人都傻了
推荐使用manage-sdk
https://docs.cloudbase.net/api-reference/manager/node/database.html#migratestatus