我在项目中使用List[Any]
,并且有很多,所以当我运行常规Firebase Cloud Functions
时,我超出了配额,因此,一种选择是仅部署由使用this web page中提到的firebase deploy
。此方法仅适用于以firebase deploy --only functions:function1
开头的函数,但是当我尝试将其与如下函数一起使用时:
exports.funcName
它不起作用。我使用function doesNotStartWithExports() {
// Does something.
}
,但得到以下输出:
firebase deploy --only functions:doesNotStartWithExports
问题:如何部署不以导出开头的Firebase功能?
答案 0 :(得分:1)
我实际上找到了解决方案,它是通过部署以exports
开头的功能之一并使用不是以exports
开头的功能为例的,例如:
function doesNotStartWithExports() {
// I want to deploy only this function but I can't
}
exports.anotherFunction = functions.https.onRequest((request, response) => {
// This functions uses the one that I want to deploy.
doesNotStartWithExports()
})
要更新doesNotStartWithExports
,请使用以下命令:
firebase deploy --only functions:anotherFunction
。
答案 1 :(得分:1)
我还发现,如果您将某个常规函数导出到与Firestore函数同名的位置,则会出现此错误:
export myFunction() {
// do somethig here
}
exports.myFunction = functions.https.onCall((data, context) => {
// function
})
将它们中的任何一个重新命名为唯一名称即可解决该问题。
答案 2 :(得分:0)
答案 3 :(得分:0)
我在尝试删除一些已弃用的函数时遇到了非常相似的错误:
firebase functions:delete mymodule-helloWorld --region us-central1
输出:
Error: The specified filters do not match any existing functions in project my-firebase-project.
事实证明,如果我将命名空间/分组(模块)函数中的“-”替换为“.”,错误就会消失。奇怪。
firebase functions:delete mymodule.helloWorld --region us-central1
输出:
? You are about to delete the following Cloud Functions:
mymodule-helloWorld(us-central1)
Are you sure? Yes
i functions: deleting function mymodule-helloWorld(us-central1)...
✔ functions[mymodule-helloWorld(us-central1)]: Successful delete operation.
解决方案改编自此github thread