Firestore:错误:4 DEADLINE_EXCEEDED:超过最后期限

Sau*_*hah 6 firebase aws-lambda grpc google-cloud-firestore

我试图查询的 firebase 集合实际上是空的。里面的文件为零。即使这样,在查询它时,我也会收到此错误

我在 AWS 上的 LAMBDA 函数中执行此操作。我知道该查询有效,因为它有时确实会返回结果,但它非常随机。大多数情况下它只是想出了这个错误

这是我的 lambda 日志,其中启用了以下 ENV 变量 GRPC_TRACE=all GRPC_VERBOSITY=DEBUG

我的 Lambda 日志

我什至尝试过这个,因为我在网上某处找到了这个,但它没有任何区别

db.settings({
  clientConfig: {
    interfaces: {
      'google.firestore.v1.Firestore': {
          methods: {
            RunQuery: {
              timeout_millis: 5 * 60 * 1000
            }
          }
        }
      }
    }
});
Run Code Online (Sandbox Code Playgroud)

这是我的查询代码的样子

let snap = await db.collection('notifications').where("siteID", "==", msg.siteId).where("procCode", "==", code).where("aptNum", "==", msg.affectedRows[0].after.AptNum).get();
Run Code Online (Sandbox Code Playgroud)

这是我最终得到的输出。甚至不是在同一个 lambda 执行中,而是在一个单独的执行中,这也很奇怪。

在此处输入图片说明

Sau*_*hah 13

我想出了我的问题在这里。我在异步函数中调用 Firebase API,但该函数的调用者并没有“等待”导致这种情况的调用。现在一切正常。