我花了整整一个小时来弄清楚为什么我的函数不起作用,并将问题简化为以下简单的代码:
import {onDocumentCreated} from 'firebase-functions/v2/firestore';
export const myfunction = onDocumentCreated(
`users/{uid}/${process.env.TEST_KEY}/{id}`,
(event) => {
console.log(process.env.TEST_KEY);
}
);
(.env
文件包含TEST_KEY=data
)
如您所见,第一个参数是要“侦听”的集合的路径,并且使用了字符串文字(这不起作用)。
现在如果我把上面的改为
import {onDocumentCreated} from 'firebase-functions/v2/firestore';
export const myfunction = onDocumentCreated(
`users/{uid}/data/{id}`,
(event) => {
console.log(process.env.TEST_KEY);
}
);
然后它就像预期的那样工作了,当我在firestore中推送一个文档时,控制台会记录data
。process.env.TEST_KEY
在函数内部解析,但不在字符串文字中。为什么?
编辑:这似乎是firebase-functions的一个怪癖。
我发现这个GH Issue可能是相关的。
1条答案
按热度按时间m1m5dgzv1#
如果您已经在使用此功能并且不能正常工作,您可以在此link中提交一个错误,产品团队将对此进行调查。然而,没有ETA。
提交bug的步骤: