Я использую интеграцию 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'
}
Какую версию Node вы используете? У меня была такая же проблема с последней версией 22.7.0, и я понизил ее до той, которую использовал раньше, 22.5.0. Это сработало.
Пожалуйста, проверьте также проблему, которую я подал здесь:
https://github.com/nodejs/node/issues/54518
Огромное спасибо, теперь пользуюсь 22.5.1
. Это сводило меня с ума
Большое спасибо, вы только что спасли мой день! Действительно, исправление версии Node в моем Dockerfile заставило его снова работать. Ваше здоровье!
Спасибо, мне не удалось использовать 22.7, попробовал 22.5, мой npm, у меня не получилось (github.com/npm/cli/issues/7657), пришлось вернуться к 22.4 - было бы здорово не нарушать мои потоки небольшими обновлениями :))
Сегодня я столкнулся с точно такой же проблемой. Ничего не изменилось, но при запуске на сервере у меня начала выдаваться эта ошибка. Локально все в порядке...