Firebase云功能主处理功能



在另一篇stackoverflow文章中,建议使用一个主处理函数,将处理分派给不同的函数。

functions.storage.object().onFinalize((object) => {
if (object.name.startsWith('User_Pictures/')) {    
return handleUserPictures(object);
} else if (object.name.startsWith('MainCategoryPics/')) {
return handleMainCategoryPictures(object);
}
})

我已经尝试通过以下index.js来实现这一点:

const handler = require('./handler');
exports.handler = handler.handler;
exports.userpictures = require('./userpictures');
exports.mainpictures = require('./mainpictures');

并且在具有以下内容的mainpictures.js中:

exports.handleMainCategoryPictures= async (object) => { ... code here ... }

当我运行firebase deploy时,没有检测到任何功能。我本来期待3岁。这种结构可能吗?我在正确出口方面是否犯了一些明显的错误?当我尝试在没有处理程序的情况下直接导出时,检测到了函数。

您仍然需要使用函数生成器API定义导出的函数。在你的第一个代码位中就是这样的:

export fun = functions.storage.object().onFinalize(...)

如果您不使用此API从index.js构建和导出函数,那么Firebase CLI将找不到任何函数,也不会部署任何内容。如果需要,您可以从所需的文件中使用这个API,但index.js最终必须导出这样构建的函数。

事实上,如果你正在使用这个,而没有在这里显示它,那么我建议你编辑这个问题,以显示所有正在播放的文件的完整、最小的示例。

相关内容

  • 没有找到相关文章

最新更新