Firebase Cloud Functions全局区域设置不生效问题求助
问题原因与解决办法
核心原因:你使用的
setGlobalOptions是Firebase Functions v2专属API,仅对v2版本的函数生效。而你部署的是Node.js 18的1代函数,v2的全局配置无法作用在1代函数上,所以这些函数仍默认部署到us-central1。1代函数的区域设置方案:
- 全局统一设置:在项目根目录的
firebase.json中添加如下配置,所有1代函数会默认使用该区域:{ "functions": { "region": "europe-west3" } } - 单个函数单独指定:如果需要给特定1代函数设置区域,直接在函数定义时传入
region参数:import * as functions from "firebase-functions"; exports.exampleFunction = functions.region("europe-west3").https.onRequest((req, res) => { // 函数业务逻辑 });
- 全局统一设置:在项目根目录的
若想使用v2的全局配置:需要将1代函数迁移为v2版本,v2函数的写法示例:
import {onRequest} from "firebase-functions/v2/https"; exports.exampleV2Function = onRequest((req, res) => { // 函数业务逻辑 });此时你之前配置的
setGlobalOptions({region: "europe-west3"})就会对所有v2函数生效。
内容的提问来源于stack exchange,提问作者Daniel Keen
相关产品推荐
相关产品推荐

