【问题标题】:Google application engine, maximum number of static files?谷歌应用引擎,静态文件的最大数量?
【发布时间】:2011-03-11 02:15:48
【问题描述】:

我正在谷歌应用程序引擎中开发一个应用程序,该应用程序将具有用户配置文件类型的功能。我在浏览Google App的在线教程时发现静态文件(app文件和静态文件)的最大数量不应超过3000。我担心当用户数量增加时用户是否能够上传他们的图片.此限制仅适用于免费配额还是在计费后也是如此。在文档中,它被称为免费配额之外的额外限制。

请提出建议。

提前致谢。

【问题讨论】:

    标签: python django google-app-engine


    【解决方案1】:

    欢迎来到 Stack Overflow!

    App Engine 的限制之一是您无法从应用直接写入文件系统。静态文件可以是 HTML、CSS、javascript 和图像之类的东西,它们对您的应用程序是全局的,并在您部署时手动上传。它们上传到与处理动态内容的服务器不同的服务器并从不同的服务器提供服务。

    由于您无法从应用程序写入文件系统,因此用户上传的文件必须作为 blob 保存到数据存储区。这些不被视为静态文件。正如其他人所提到的,您可以使用 S3 或 Blobstore API,但这两者都需要计费。有了免费配额,每个实体最大可以达到 1MB,每个 HTTP 请求和响应最大可以达到 10MB。使用带有 BlobProperty 的标准实体,您可以轻松地存储和提供高达 1MB 的动态上传文件,如果您想花哨并跨多个实体将 blob 存储在切片中,则可以使用 10MB。

    【讨论】:

      【解决方案2】:

      有一个名为BlobStore 的新服务可以让您在数据库中存储二进制数据。此外,您可能希望查看 Amazon S3 作为数据存储。如果用户正在上传图像,则它们不能存储为静态文件。静态文件是包含在您的 GAE 项目中的文件,例如 html 和 png/jpg/gif 文件。

      【讨论】:

      • 感谢您的回复布伦纳。但我对你的帖子有疑问。如果我们使用 blobstore 来存储二进制文件就可以了。但是,如果我们将它们作为文件保存在目录/文件夹中,则应将其视为静态文件。如果我错了,请纠正我。无论如何,我会考虑将图像存储在数据库中。
      • 您无法写入 GAE 上的文件系统。
      【解决方案3】:

      正如其他人所提到的,对于更动态的内容(例如用户上传的文件),它们应该作为 blob 进入数据存储区,或者如果它们更大,作为 Blobstore 对象(最大大小为 2GB)。

      3000 个静态文件在一定程度上是合理的,除非你有很多静态资源(例如图像、HTML、CSS 和 JS 文件)。但是,对于 Python 源代码,您还有另一种解决方法,那就是将所有 .py 文件放入一个 ZIP 中,这样它们就不会那么严重地达到这个数量。这是一篇描述如何做到这一点的文章:

      Using Django 1.0 on App Engine with Zipimport

      请注意,本文讨论的是如何将 Django 的源代码与 App Engine 捆绑在一起;但是,除非您正在执行 1.3 或使用 fork,否则这是不必要的。 App Engine 系统已经为您免费提供了 0.96 或 1.2.5。

      更新(2011 年 3 月):在 SDK 1.4.3 中,App Engine 团队发布了 Files API,它允许您使用 Blobstore 以编程方式读取/写入文件/数据。这适用于PythonJava。更多信息可以在相应的blogpost 中找到。除了 Blobstore,public roadmap 还展示了未来集成到 Google Storage 访问中的功能。

      更新(2011 年 9 月):在 SDK 1.5.4 中,App Engine 团队将 Blobstore 文件大小限制从 2GB 移除,以允许文件大小不受限制。但是,您需要为每 GB 的存储空间付费。

      更新(2011 年 10 月):在 SDK 1.5.5 中,App Engine 团队将文件的最大数量从 3000 个扩展到了 10000 个,这对用户来说是一个很大的提升。此外,最大单个文件大小从 10MB 增加到 32MB。另一个与存储相关的改进是users can now write to Google's Cloud Storage directly from their App Engine app

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-05-31
        • 1970-01-01
        • 1970-01-01
        • 2014-08-02
        • 2012-06-05
        • 2013-03-03
        • 1970-01-01
        相关资源
        最近更新 更多