如何在Firestore Functions中部署多个云函数并避免覆盖
如何部署不覆盖原有Cloud Function的新函数
要为girls集合创建独立的云函数且不覆盖原有boys集合的函数,核心是保证导出的函数名称唯一,具体操作如下:
1. 修改函数代码
在现有代码中新增一个导出函数,命名不能和原函数updatingCount重复,同时将监听路径改为girls/{docId}(原代码里的{count}是文档ID占位符,建议改为{docId}避免混淆)。示例代码如下:
// 原有监听boys集合的函数 exports.updatingCount = functions.firestore .document('boys/{docId}') .onWrite((snap) => { // 你的boys集合业务逻辑 }); // 新增监听girls集合的函数 exports.updatingGirlsCount = functions.firestore .document('girls/{docId}') .onWrite((snap) => { // 你的girls集合业务逻辑(可复用原有逻辑或按需调整) });
2. 部署函数
根据需求选择部署方式:
- 部署所有函数:执行命令
firebase deploy --only functions,该命令会同时部署原有和新函数,由于函数名不同,不会发生覆盖。 - 单独部署新函数:执行命令
firebase deploy --only functions:updatingGirlsCount,仅部署新增的函数,更节省时间。
关键说明
云函数部署时是根据导出的函数名称来识别的,只要两个函数的导出名称不同,部署时就会视为两个独立的函数,不会互相覆盖。
内容的提问来源于stack exchange,提问作者Mark Lawrence
相关产品推荐
相关产品推荐

