Javascript 如何在云函数中创建文件并上传到bucket

Javascript 如何在云函数中创建文件并上传到bucket,javascript,node.js,firebase,google-cloud-functions,google-cloud-storage,Javascript,Node.js,Firebase,Google Cloud Functions,Google Cloud Storage,一段时间以来,我一直在尝试创建一个包含一些文本(hello world)的文件(sample.txt),并最终将其上传到一个bucket中。有什么方法可以实现这一点吗?。我的尝试代码如下: exports.uploadFile = functions.https.onCall(async (data, context) => { try { const tempFilePath = path.join(os.tmpdir(), "sample.txt");

一段时间以来,我一直在尝试创建一个包含一些文本(hello world)的文件(sample.txt),并最终将其上传到一个bucket中。有什么方法可以实现这一点吗?。我的尝试代码如下:

exports.uploadFile = functions.https.onCall(async (data, context) => {
  try {
    const tempFilePath = path.join(os.tmpdir(), "sample.txt");

    await fs.writeFile(tempFilePath, "hello world");
    const bucket = await admin.storage().bucket("allcollection");

    await bucket.upload(tempFilePath);
    return fs.unlinkSync(tempFilePath);
  } catch (error) {
    console.log(error);
    throw new functions.https.HttpsError(error);
  }
});
无论何时运行此代码,我都会在firebase控制台中看到如下错误:

TypeError [ERR_INVALID_CALLBACK]: Callback must be a function 
 at maybeCallback (fs.js:128:9) 
  at Object.writeFile (fs.js:1163:14) 

你没有正确使用。从链接文档中可以看到,它需要3或4个参数,其中一个是回调。错误消息表示您没有通过回调。最重要的是,它不会返回一个承诺,所以你不能有效地等待它。请考虑使用,以使这更容易。< /P>请编辑问题,以解释究竟什么是不与您现在的代码,包括任何调试信息,你有。我建议你读一读,我一定会读的