我有多个使用单个值的云函数,基本上是这样的:
index.js
function emailFooter() {
return `<div>email footer</div>`;
}
exports.sendEmailSuccess = functions.https.onCall(() => {
const emailContent = 'success content' + emailFooter();
sendEmail(emailContent) // fake email sender
});
exports.sendEmailFailure = functions.https.onCall(() => {
const emailContent = 'failure content' + emailFooter();
sendEmail(emailContent) // fake email sender
});
问题是,我想更改页脚内容(由emailFooter
返回(,但为了做到这一点(据我所研究(,我首先必须在代码中更改它,然后部署使用emailFooter
(sendEmailSuccess
和sendEmailFailure
(的每个云函数,因此页脚在每种类型的电子邮件上看起来都是一样的。
当然,我可以用firebase deploy --only functions
同时部署所有函数,但我们曾经是多个开发人员,我们中的一些人更新了函数,以至于我们不知道index.js中的哪些函数与GCP中的相同(大约20个函数(,我必须检查每个函数,这样我就不会部署旧版本了。
有没有办法更新这个单一的值,或者至少知道哪些函数是最新的?
谢谢。
如果单个值只能由代码提供,那么如果不重新部署每个函数,就无法更新该值。代码不是在函数实例之间共享的——每个函数实例都有自己的副本。
如果您想在函数之间共享一个值,并且它可能会随着时间的推移而变化,那么您需要将该值放在其他地方,例如数据库。然后,即使在值发生更改之后,每个函数也可以查询该值的其他源。