Firebase Cloud Functions 2代函数URL不可预测问题咨询
Firebase Cloud Functions 2代 怎么配置可预测的URL
Firebase Functions 2代默认基于Cloud Run托管,所以生成的URL带随机后缀,不过有三种方式可以搞定固定可预测的URL:
1. 绑定自定义域名
直接把你自己的域名绑定到对应函数的Cloud Run服务上,就能用固定的自定义URL访问,比如https://api.yourdomain.com/my-function。操作的话去Cloud Console的Cloud Run页面找到你的函数服务,进「自定义域名」选项卡跟着提示走就行,记得配置好DNS解析。
2. 用Firebase Hosting做路径重写
如果已经在用Firebase Hosting,直接在firebase.json里加重写规则,把固定路径映射到2代函数上。比如:
{ "hosting": { "rewrites": [ { "source": "/api/my-function", "run": { "serviceId": "my-function", "region": "europe-west1" } } ] } }
部署后就能通过https://[你的项目slug].web.app/api/my-function访问,这个URL是固定的。
3. 直接使用1代风格的URL格式
其实2代支持配置成1代那种https://[地区]-[项目slug].cloudfunctions.net/[函数名]的URL,只需要在代码里或者部署命令里指定platform: "gcfv1"就行。
代码里配置(以TypeScript为例):
import { onRequest } from "firebase-functions/v2/https"; export const myFunction = onRequest({ region: "europe-west1", platform: "gcfv1" }, (req, res) => { res.send("搞定!"); });
或者部署时用命令行指定:
firebase deploy --only functions:myFunction --platform gcfv1
这样部署完就拿到和1代一样的可预测URL了。
内容的提问来源于stack exchange,提问作者Simon Kibsgård
相关产品推荐
相关产品推荐

