在简单的Firebase Cloud Function上出现TRIGGER_PAYLOAD_TOO_LARGE错误

时间:2018-09-13 13:00:39

标签: node.js firebase google-cloud-functions

执行云功能时出现此错误:

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);
});

我怎么知道这是导致错误的函数?我从Firebase中删除了所有云功能,并且按预期工作。然后我放回了这个inyectSerie函数,它再次给了我错误。

这是我的火力基地结构,是“中型”节点,是数据最多的节点,具有15万条记录(对我来说听起来并不多):

+fallidas
+forms <-- This has only 20 records
+materiales
+medidores <-- This has 150,000+ records
+series
+users

如果您注意到,云功能永远不会触及medidores节点。

我搜索了错误,仅发现this other question报告了该错误,但是我认为导致该问题的云函数确实访问了数据库中的所有记录。

我唯一想到的就是我的案子的问题,那就是function.database无论如何加载整个数据库。


更新:即使将触发条件降低到最低限度(感谢James Poag),我仍然遇到相同的错误。

exports.inyectSerie = functions.database.ref('forms/{pushId}').onCreate(event => {
    return null;
});

0 个答案:

没有答案