【问题标题】:why GAE filesystem is read-only? [duplicate]为什么 GAE 文件系统是只读的? [复制]
【发布时间】:2012-08-23 07:14:46
【问题描述】:

可能重复:
Does Google App Engine allow creation of files and folders on the server?

我不喜欢 GAE 的这个功能。为什么 GAE 的文件系统是只读的?有时我需要将信息存储在 xml 文件中,有时还需要将一些数据保存在文本文件中。谁能解释一下为什么 GAE 提供只读文件系统?

【问题讨论】:

    标签: google-app-engine filesystems readonly


    【解决方案1】:

    请记住,任何 App Engine 应用程序都可能在许多数据中心的许多不同机器上运行许多副本。如果您可以将文件写入文件系统,则必须在所有正在运行的实例以及从那一刻起创建的每个新实例上一致地复制该文件。

    您可以使用 blobstore(正如 Bugs 指出的那样,它可以自己提供文件而不会打扰您的应用程序)、结合 memcache 的数据存储(这通常足够快)、Google 的 Cloud Storage(非常类似于 Amazon 的S3 并且还可以自己提供文件)甚至是您通过 http 访问的外部服务(例如 S3)。

    您可以在字符串上生成 XML 文件并将其存储。当有人点击您的/myfile.xml 时,您需要做的就是将其读回(从您存储它的任何位置)并提供给它。

    【讨论】:

    • 所以谷歌使用分布式架构来存储网络应用程序? “您可以在字符串上生成 XML 文件并存储它”是什么意思。
    • App Engine 是非常分布式的。除了使用文件,您可以使用 StringIO (docs.python.org/library/stringio.html) 并将类似文件的对象传递给您的 XML 生成器,完成后,提取内容并将其存储在文件以外的任何地方。
    【解决方案2】:

    您的问题之前已得到解答。看看Does Google App Engine allow creation of files and folders on the server?

    如果您需要永久存储文件,我建议您使用 blobstore(JavaPythonGo)。

    【讨论】:

    • 我需要维护一个xml文件。我该怎么做?
    • 但问题是为什么 GAE 文件系统是只读的?
    • 这就是那个页面的解释——“为什么我不能写入这个文件?”。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-10
    • 1970-01-01
    • 2021-10-27
    • 2011-10-28
    • 1970-01-01
    • 1970-01-01
    • 2018-04-10
    相关资源
    最近更新 更多