Google Cloud Run Firestore:[ERR_BUFFER_OUT_OF_BOUNDS]:“长度”超出缓冲区范围

问题描述 投票:0回答:1

我正在使用 Google Cloud Run Firestore 集成,直到最近它都运行良好。虽然我能够进行身份验证,但我无法执行任何 CRUD 操作。

这只发生在 Google Cloud Run 实例上,但当我本地连接到同一数据库(使用服务帐户)时不会发生。

错误是:

2024-08-23 10:19:55.857 CEST
Caused by: Error
2024-08-23 10:19:55.857 CEST
    at Firestore.getAll (/home/node/app/node_modules/@google-cloud/firestore/build/src/index.js:1007:23)
2024-08-23 10:19:55.857 CEST
    at DocumentReference.get (/home/node/app/node_modules/@google-cloud/firestore/build/src/reference/document-reference.js:180:32)
2024-08-23 10:19:55.857 CEST
    at compareCredentials (file:///home/node/app/auth.js:55:40)
2024-08-23 10:19:55.857 CEST
    at authenticate (file:///home/node/app/auth.js:200:16)
2024-08-23 10:19:55.857 CEST
    at postAuthAdmin (file:///home/node/app/routes.js:354:37)
2024-08-23 10:19:55.857 CEST
    at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
2024-08-23 10:19:55.857 CEST
    at async Server.server (file:///home/node/app/server.js:173:15) {
2024-08-23 10:19:55.857 CEST
  code: 'ERR_BUFFER_OUT_OF_BOUNDS'
2024-08-23 10:19:55.857 CEST
}

代码:

const firestore = new Firestore({ databaseId: 'projecttest' })

const credsColl = firestore.collection('creds')
const adminCredsDoc = credsColl.doc('admin')

const adminDoc = await adminCredsDoc.get() // ERR_BUFFER_OUT_OF_BOUNDS

我试图获取的文档(密码是伪造的):

{
    user: 'admin',
    password: '$2a$12$kHkqVa3fHz7qRBpv5BSPCOjci1H77AGHNXsReL3Huw9vITk5lqcXG'
}
javascript node.js firebase google-cloud-platform google-cloud-firestore
1个回答
0
投票

您运行的是哪个版本的 Node?我在最新版本 22.7.0 中遇到了同样的问题,并降级到我之前使用的版本 22.5.0。那行得通。

另请检查我在这里提交的问题:

https://github.com/nodejs/node/issues/54518

© www.soinside.com 2019 - 2024. All rights reserved.