相关疑难解决方法(0)

Firebase Cloud Function 已完成,状态为:“响应错误”

我有一个云函数,它返回大量数据(50'000 个文档)作为对象。当我运行它时,我收到错误finished with status: 'response error'

仅当我导出所有数据时才会发生这种情况,当应用限制(最多 20'000)时,它可以正常工作。这让我认为响应可能太大,但日志中根本没有关于此的信息。另外添加 try/catch 也不起作用。在控制台中,我只收到上述消息,没有任何进一步的指示。

我知道函数通常会在超时或超出内存时记录日志,所以我想知道还有什么可能是错误来源。

exports.run = functions.runWith({ timeoutSeconds: 540, memory: '8GB' }).https.onRequest(async (req, res) => {
  try {
    const querySnap = await db.collection("myData").get();
    const data = querySnap.docs.map(doc => doc.data());
    return res.status(200).json({
      data: data
    }).end();

  } catch (err) {
    console.log(err);
    return res.status(400).end();
  }
});
Run Code Online (Sandbox Code Playgroud)

编辑:确实是响应的大小导致了此错误。如果您只是返回给定大小的数据(使用Buffer.alloc(bytes)),您可以重现此情况。

javascript firebase google-cloud-functions google-cloud-firestore

10
推荐指数
1
解决办法
4375
查看次数