【问题标题】:Client intended to send too large body GAE客户端打算发送过大的正文 GAE
【发布时间】:2021-10-28 22:09:10
【问题描述】:

每次我尝试通过托管在 App 引擎上的 nodejs Web 服务器上传一批文件时,我都会收到此错误“客户端打算发送太大的正文:34386203 字节”。文件在本地服务器上成功上传,但在远程服务器上失败。每个文件最大约为 9mb,其中有 4 个文件大约为 34mb。应用引擎也在弹性环境中。

【问题讨论】:

    标签: node.js google-app-engine google-cloud-platform app-engine-flexible


    【解决方案1】:

    App Engine 前端有一些limitaions,列在其文档中。

    请求的总大小限制为 ~32MB。

    这可能是一个硬限制。

    如果合适,考虑:

    • 生成云存储签名 URL
    • 使用 Firebase 云存储结束

    【讨论】:

      【解决方案2】:

      对于较大的上传,推荐的方法是使用

      • Blobstore interface 默认前 5 GB 空闲且没有 根据本文档的最大值。
      • 将请求直接发送到 Cloud Storage,例如使用 resumable upload 进程。您仍然可以使用 App Engine 为您的 应用程序,但上传将由 Google Cloud Storage 处理。为了这 你会生成一个signed URL,客户端可以使用它 访问您的 Cloud Storage 存储分区。
      • 在除 Go 之外的所有语言中,没有单个静态数据文件可以更大 超过 32MB。根据以下文档,Go 的限制为 64MB。 因此,如果您真的可以为您的应用程序尝试 Go 运行时 想通过 App 上托管的 Nodejs 服务器上传批处理文件 引擎。 https://cloud.google.com/appengine/quotas#Code

      【讨论】:

        【解决方案3】:

        Cloud Run 的响应和请求大小为 32MB,limit。 这包含使用 Cloud Run 时适用的用法 quota and limits

        【讨论】:

          猜你喜欢
          • 2015-08-09
          • 2021-04-20
          • 2017-11-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-08-25
          • 1970-01-01
          相关资源
          最近更新 更多