部署后可以在Firebase上创建文件吗?

时间:2018-08-31 07:46:35

标签: node.js firebase google-cloud-functions

我正在使用节点模块:交叉生成,execa和spawn-cmd来运行应用程序。当我在localhost上运行应用程序时,它可以工作,但是当我将其部署到Firebase并从那里运行它时,我找不到文件输出。该路径应该是正确的,因为它可以在localhost上运行,并且在部署后不会给我错误。

我意识到该应用程序可能正在运行并输出文件,但是没有保存到我的本地目录中。 Firebase是否允许您在已部署的Functions文件夹中创建文件?如果可以,该如何访问?

这是我的运行方式:

const spawn = require('cross-spawn').spawn;

spawn('cb.exe', args.split(" "), { stdio: 'inherit', cwd: 'files/cb/'});

1 个答案:

答案 0 :(得分:0)

您不能在已部署的functions文件夹中写入新文件。文件夹和文件的权限允许只读访问。

您唯一可写入的文件夹是/ tmp,您可以在documentation中对其进行阅读:

  

Cloud Functions提供对本地磁盘安装点(/ tmp)的访问   这被称为“ tmpfs”卷,其中将数据写入该卷   存储在内存中。没有与此相关的特定费用   但是将数据写入/ tmp挂载点将占用内存   为该功能配置的资源。

您应该使用os.tmpdir来掌握此路径,而不是对其进行硬编码。

将文件写入已部署的Firebase托管文件中也是不可能的,这是完全不同的产品。