Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在组和区域中部署单个Firebase云功能?_Firebase_Google Cloud Functions_Firebase Cli - Fatal编程技术网

如何在组和区域中部署单个Firebase云功能?

如何在组和区域中部署单个Firebase云功能?,firebase,google-cloud-functions,firebase-cli,Firebase,Google Cloud Functions,Firebase Cli,我已经创建了一组部署在某个地区(europe-west1)的Firebase云功能(v2) 我只想部署addTextMessage功能。 我试过: firebase部署--仅功能:v2 addTextMessage #或 firebase部署--仅限“功能:v2 addTextMessage(europe-west1)” 但是,未部署该功能: ✔ 功能:已成功上载功能文件夹 i功能:项目中的当前功能:v2 addTextMessage(europe-west1) ⚠ 功能:指定了以下筛选器

我已经创建了一组部署在某个地区(
europe-west1
)的Firebase云功能(
v2

我只想部署
addTextMessage
功能。 我试过:

firebase部署--仅功能:v2 addTextMessage
#或
firebase部署--仅限“功能:v2 addTextMessage(europe-west1)”
但是,未部署该功能:

✔  功能:已成功上载功能文件夹
i功能:项目中的当前功能:v2 addTextMessage(europe-west1)
⚠  功能:指定了以下筛选器,但与项目中的任何功能都不匹配:v2 addTextMessage(europe-west1)

我应该使用什么命令?

您使用的是正确的命令,但是,您尚未将
addTextMessage
函数导出到
index.ts
文件中,否则部署无法找到要部署的函数。您可以通过将以下代码添加到
索引.ts
,将其导出:

export const v2-addTextMessage = apiV2.addTextMessage
此外,不能将functions参数和函数名用作字符串。所以你对这个案子的命令必须是:

firebase deploy --only functions:v2-addTextMessage
对于在部署时指定区域,由于您已将问题的编辑版本添加到代码中,因此无法在FirebaseCLI命令中指定区域,这要感谢@Doug Stevenson在注释部分指出了这一点

理想情况下,正如您在本文中看到的,在部署之前,您必须在云功能代码中通过添加以下内容来指定:

exports.v2-addTextMessage = functions
    .region('europe-west1')
    .storage.object().onFinalize((object) => { });
尝试将“-”替换为“.”

你应使用:

firebase deploy --only functions:groupName.functionName
就你而言:

firebase deploy --only functions:v2.addTextMessage
CLI终端日志确实有误导性,因为如果您超过了部署配额,并且CLI检测到您的函数名是例如
v2 addTextMessage(europe-west-1)
,则,它将打印一条消息,建议您使用命令
firebase deploy--only functions:v2 addTextMessage
仅部署此功能,但此命令不起作用


请参阅完整部署没有
--区域
标志。这只是为了删除部署到多个区域的特定区域中的函数@Doug Stevenson谢谢,我将从答案中编辑该部分,我正在查看此部分,并假设它也适用于FirebaseCLI。此命令也不起作用。更准确地说,该函数未被调用
v2 addTextMessage
。函数为
addTextMessage
v2.ts
文件中声明:(`export const addTextMessage=functions.region('europe-west1').onCall(…)
和globalìndex.ts
包含:`import*作为apiV2 from./api/apiV2';export const v2=apiV2;
firebase deploy也是如此--only functions:addTextMessage
不起作用?不确定你所说的索引是导出,你能澄清一下吗?我的评论不清楚,我编辑了这个问题以显示我的函数的组织。
firebase deploy --only functions:groupName.functionName
firebase deploy --only functions:v2.addTextMessage