【问题标题】:Writing to a file in App Engine: How to view that file afterwards?在 App Engine 中写入文件:之后如何查看该文件?
【发布时间】:2019-02-14 17:14:30
【问题描述】:

我设法让“App Engine 标准环境中的 Python 3 快速入门”示例启动并运行,我想我会尝试进一步加深我的知识,或许可以尝试运行一个 cron 作业。

所以我更新了 python 代码,添加了另一个端点,计数器,如下所示:

@app.route('/counter')
def counter():
    with open('counter.txt', 'a') as the_file:
        the_file.write('Hello\n')

    return 'Counter incremented'

我打算让 cron 作业定期命中 /counter。当这个端点被击中时,它将打开文件并添加一行。 /counter 端点在我的本地机器上工作。在我将此更新后的代码部署到 Google 云后,如果我访问我的 blahblah.appspot.com/counter 网址,它应该会更新这个“counter.txt”文件。

我的问题是:如何查看该文件以了解它是否正在更新?如何在云中查看该文件?谢谢。

【问题讨论】:

    标签: google-app-engine


    【解决方案1】:

    除了/tmp 目录之外,无法在 Google App Engine 标准 Python3 环境中写入文件。如the Python3 GAE official documentation中所述:

    运行时包括一个完整的文件系统。除了位置 /tmp 之外,文件系统是只读的,它是在 App Engine 实例的 RAM 中存储数据的虚拟磁盘。

    我同意 @Josh J 的回答,您应该改用 Google Cloud Storage。

    【讨论】:

      【解决方案2】:

      您不应在 Google App Engine 中写入本地文件系统。它在缩放时可能对您的应用可见,也可能不可见。

      Google 云存储是文件存储的首选方法。

      https://cloud.google.com/appengine/docs/standard/python3/using-cloud-storage

      【讨论】:

        【解决方案3】:

        对于 python 2.7,您可以从字符串而不是文件导入模块,您可以在此答案中看到: https://stackoverflow.com/a/7548190/8244338

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-05-18
          • 2012-01-02
          • 1970-01-01
          • 2019-06-01
          • 1970-01-01
          • 2016-02-09
          • 2010-11-09
          相关资源
          最近更新 更多