使用Parse Cloud代码在Heroku文件系统中保存文件?

时间:2017-07-21 04:46:10

标签: curl heroku parse-server

我在Heroku上使用Parse Server,我想知道我是否能够通过云代码将文件保存到heroku。

这样的事情:

云代码(main.js):

Parse.Cloud.define("saveFile", function(request, response) {
    fs.writeFile("test", "helloworld", function(err) {
      if(err) {
          return console.log(err);
      }
      console.log("The file was saved!");
    }); 
}

然后通过终端中的curl调用调用此函数:

  

curl -X POST -H" X-Parse-Application-Id:yourappid" -H“Content-Type:application / json" https://your-parse-server.herokuapp.com/parse/functions/saveFile

在heroku日志中,我能够看到打印的控制台"文件已保存"但是,当我查看heroku / app目录时(通过heroku CLI:heroku run ls)文件"测试"没有列出。

我的问题:

  1. 我无法创建任何文件并将其保存到Heroku文件系统?
  2. 文件已保存,但文件目录对我隐藏了吗?
  3. 有没有办法验证文件是否已保存?
  4. 有没有办法访问创建的文件(如果已保存)?
  5. 提前致谢!

1 个答案:

答案 0 :(得分:1)

不,这是不可能的。 Heroku有一个ephemeral filesystem

每当您部署应用程序时,他们都会构建一个容器,您可以在该容器上运行该版本的代码。然后取出该容器并以dynos的形式运行 如果您将文件写入磁盘,它们将不会保留在当前正在运行的容器之外(任何其他dyno都不会拥有它们,并且在重新启动/部署应用程序时它们将永久丢失。)

您希望对应用程序进行的任何代码更改都需要进行新的部署。