我用这篇文章制作了一个云函数来将云SQL数据库导出到云存储:https://medium.com/@kennethth90/如何安排-每日云-sql-export-to-google-cloud-storage-4c1bd360af06
这是我的功能:
const {google} = require("googleapis");
const {auth} = require("google-auth-library");
var sqladmin = google.sqladmin("v1beta4");
exports.exportDatabase = (_req, res) => {
async function doBackup() {
const authRes = await auth.getApplicationDefault();
let authClient = authRes.credential;
var request = {
project: "project ID",
instance: "instance ID",
resource: {
// Contains details about the export operation.
exportContext: {
kind: "sql#exportContext",
fileType: "SQL", // CSV
uri: `gs://bucketName/folderName/backup-${Date.now()}.gz`,
databases: ["database"]
}
},
// Auth client
auth: authClient
};
// Kick off export with requested arguments.
sqladmin.instances.export(request, function(err, result) {
if (err) {
console.log(err);
} else {
console.log(result);
}
res.status(200).send("Command completed", err, result);
});
}
doBackup();
};
package.json:
{
"name": "export-database",
"version": "0.0.1",
"dependencies": {
"googleapis": "^39.2.0",
"google-auth-library": "3.1.2"
}
}
作为Runtime,我使用Node.js 8。要执行的函数:doBackup((
我在期间收到错误
函数在加载用户代码时失败。错误消息:文件index.js定义的Node.js模块需要导出名为doBackup((的函数
有人能帮我纠正这个错误吗?我不明白为什么我收到了这个,不能更进一步。
函数在加载用户代码时失败。错误消息:文件index.js定义的Node.js模块需要导出名为doBackup((的函数
根据错误消息,您要执行的云函数的名称是doBackup
,但您在index.js
中调用的函数是exportDatabase
。请确保这些名称相同,例如将exportDatabase
更改为doBackup
或将要执行的函数更改为exportDatabase