fs.writeFileSync 在云函数中不起作用

fs.writeFileSync 在云函数中不起作用

我在执行以下代码时遇到了谷歌云功能的问题

const fs = require('fs'); 
let data = "Test";
fs.writeFileSync("text.txt", data);
console.log (fs.readFileSync("text.txt", "utf8"));

结果:EROFS:只读文件系统,打开“text.txt”

答案1

虽然不建议在 Cloud Function 中使用本地文件系统,但可以使用/tmp文件夹。因此,您只能将文件写入此文件夹。 文档提到使用临时目录时要记住的一些事项

文件系统中唯一可写的部分是 /tmp 目录,您可以使用它来存储函数实例中的临时文件。这是一个本地磁盘挂载点,称为“tmpfs”卷,写入该卷的数据存储在内存中。请注意,它将消耗为该函数配置的内存资源。

还有提示与技巧最好删除临时文件,因为它可能会导致一些未来的问题:

临时目录中的本地磁盘存储是内存文件系统。您写入的文件会占用函数可用的内存,有时还会在调用之间保留。如果未能明确删除这些文件,最终可能会导致内存不足错误和随后的冷启动。

相关内容