Ошибка в триггере документа облачных функций Firebase с использованием функций V2: не удалось декодировать protobuf и соJavascript

Форум по Javascript
Ответить
Anonymous
 Ошибка в триггере документа облачных функций Firebase с использованием функций V2: не удалось декодировать protobuf и со

Сообщение Anonymous »

Я переношу свой проект Firebase Cloud Functions из версии 1 в версию 2.
Поскольку триггеры аутентификации еще недоступны в версии 2, у меня все еще есть триггеры аутентификации в версии 1, но все мои триггеры Firestore теперь имеют версию 2.
Один из моих триггеров Firestore версии 2 сразу же завершается сбоем при вызове с этой ошибкой:
TypeError: Cannot read properties of undefined (reading 'cloud')
at Function.decode (/Users/.../node_modules/firebase-functions/protos/compiledFirestore.js:1529:130)
at createBeforeSnapshotFromProtobuf (/Users/.../node_modules/firebase-functions/lib/common/providers/firestore.js:73:52)
at createBeforeSnapshot (/Users/.../node_modules/firebase-functions/lib/v2/providers/firestore.js:187:65)
at makeChangedFirestoreEvent (/Users/.../node_modules/firebase-functions/lib/v2/providers/firestore.js:235:37)
at func (/Users/.../node_modules/firebase-functions/lib/v2/providers/firestore.js:316:32)
at /usr/local/lib/node_modules/firebase-tools/lib/emulator/functionsEmulatorRuntime.js:532:16
at runFunction (/usr/local/lib/node_modules/firebase-tools/lib/emulator/functionsEmulatorRuntime.js:514:15)
at runCloudEvent (/usr/local/lib/node_modules/firebase-tools/lib/emulator/functionsEmulatorRuntime.js:531:11)
at processBackground (/usr/local/lib/node_modules/firebase-tools/lib/emulator/functionsEmulatorRuntime.js:498:16)

Также прямо над ним зарегистрирована связанная ошибка:
Error: Failed to decode protobuf and create a before snapshot.\n
at entryFromArgs (/Users/abhijeetkharatmol/Desktop/Workspace/market-ring/marketring-firebase/functions/node_modules/firebase-functions/lib/logger/index.js:133:19)\n
at Object.error (/Users/abhijeetkharatmol/Desktop/Workspace/market-ring/marketring-firebase/functions/node_modules/firebase-functions/lib/logger/index.js:120:11)\n
at createBeforeSnapshotFromProtobuf (/Users/abhijeetkharatmol/Desktop/Workspace/market-ring/marketring-firebase/functions/node_modules/firebase-functions/lib/common/providers/firestore.js:77:16)\n
at createBeforeSnapshot (/Users/abhijeetkharatmol/Desktop/Workspace/market-ring/marketring-firebase/functions/node_modules/firebase-functions/lib/v2/providers/firestore.js:187:65)\n
at makeChangedFirestoreEvent (/Users/abhijeetkharatmol/Desktop/Workspace/market-ring/marketring-firebase/functions/node_modules/firebase-functions/lib/v2/providers/firestore.js:235:37)\n
at func (/Users/abhijeetkharatmol/Desktop/Workspace/market-ring/marketring-firebase/functions/node_modules/firebase-functions/lib/v2/providers/firestore.js:316:32)\n
at /usr/local/lib/node_modules/firebase-tools/lib/emulator/functionsEmulatorRuntime.js:532:16\n
at runFunction (/usr/local/lib/node_modules/firebase-tools/lib/emulator/functionsEmulatorRuntime.js:514:15)\n
at runCloudEvent (/usr/local/lib/node_modules/firebase-tools/lib/emulator/functionsEmulatorRuntime.js:531:11)\n
at processBackground (/usr/local/lib/node_modules/firebase-tools/lib/emulator/functionsEmulatorRuntime.js:498:16)

package.json
{
"name": "functions",
"scripts": {
"build": "tsc",
"build:watch": "tsc --watch",
"serve": "npm run build && firebase emulators:start",
"shell": "npm run build && firebase functions:shell",
"start": "npm run shell",
"deploy": "firebase deploy --only functions",
"logs": "firebase functions:log"
},
"engines": {
"node": "22"
},
"main": "lib/index.js",
"dependencies": {
"aws-sdk": "2.1692.0",
"axios": "1.13.2",
"firebase-admin": "13.6.0",
"firebase-functions": "6.6.0",
"...": "..."
},
"devDependencies": {
"@types/request": "2.48.13",
"firebase-tools": "^14.24.1",
"typescript": "5.9.3"
},
"private": true
}

Вот как написан мой триггер (версия 2):
exports.onPrivateUserDataUpdateTrigger = onDocumentUpdated(
"PrivateUserData/{docId}",
async (event) => {
logStartOfFunction("onPrivateUserDataUpdateTrigger");
// other logic
logEndOfFunction("onPrivateUserDataUpdateTrigger");
}
);


Подробнее здесь: https://stackoverflow.com/questions/798 ... -failed-to
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»