Я получаю эту ошибку при выполнении облачной функции:
Error: TRIGGER_PAYLOAD_TOO_LARGE: This request would cause a function payload exceeding the maximum size allowed.
Это облачная функция, вызывающая ошибку:
exports.inyectSerie = functions.database.ref('forms/{pushId}').onCreate(event => {
if (!admin.apps.length) {
admin.initializeApp();
}
var form = event.val();
var formData = {
serie: form.serie
};
admin.database().ref('series/'+form.serie).set(formData);
});
Как я узнаю, что эта функция вызывает ошибку? Я удалил все облачные функции из своей базы, и все заработало как положено. Затем я вернул эту функцию inyectSerie, и она снова выдала мне ошибку.
Это моя структура FireBase, являющаяся узлом "Medidores", содержащим наибольшее количество данных, с записями 150 тыс. (Что для меня не так уж много):
+fallidas
+forms <-- This has only 20 records
+materiales
+medidores <-- This has 150,000+ records
+series
+users
Если вы заметили, что функция медидора никогда не затрагивается облачной функцией.
Я искал ошибку и нашел только этот другой вопрос , сообщающий о ней, но я думаю, что облачная функция, вызвавшая проблему в этом случае, получила доступ ко всем записям в БД.
Единственное, что приходит мне в голову, это проблема моего дела, это то, что functions.database загружает всю базу данных независимо от того, что.
ОБНОВЛЕНИЕ: Даже после уменьшения моего триггера до минимума (спасибо, Джеймс Поаг), я получаю ту же ошибку.
exports.inyectSerie = functions.database.ref('forms/{pushId}').onCreate(event => {
return null;
});