我想尝试将我的v1云功能升级到v2。
本来这是我的职责
import * as functions from "firebase-functions";
const express = require("express");
const app = express();
app.post(...);
exports.functionName = functions.region("asia-southeast2").https.onRequest(app);
现在我把它升级到v2。由于v2函数名不能包含任何大写字母,我将其更改为[“function-name”]
import * as functions from "firebase-functions/v2";
const express = require("express");
const app = express();
app.post(...);
exports["function-name"] = functions.https.onRequest({region: "asia-southeast2"}, app);
部署时,我收到此错误。我不知道这是什么意思,这是非常混乱。
i功能:创建Node.js 16(2nd Gen)函数on-function:function-name(asia-southeast 2)...无法创建或更新Cloud Run服务function-name,容器运行状况检查失败。版本“function-name-00001-taz”未就绪,无法提供流量。用户提供的容器无法启动和侦听由PORT=8080环境变量提供的端口。此版本的日志可能包含更多信息。
日志URL:https://console.cloud.google.com/logs/viewer?xxxxxxxx有关更多故障排除指导,请参阅https://cloud.google.com/run/docs/troubleshooting#container-failed-to-start
打开日志浏览器从上述链接,我得到这个消息
Function 'function.name' is not defined in the provided module.
Did you specify the correct target function to execute?
Could not load the function, shutting down.
如何将当前的v1云功能升级到v2?
1条答案
按热度按时间r7s23pms1#
我复制了documentation之后的确切问题。首先,我成功部署了
cloud function
1st gen
。后来,当我尝试部署函数名为“function-name”的2nd gen
时,遇到了同样的问题。但是我能够成功地部署一个名为“functionname”或“function_name”的函数。这可能是由于使用hyphen(-)
的firebase functions
中的错误。所以我建议你使用小写或下划线的名字。示例:
也可以在public issue tracker中提出bug