如何永久设置所有Cloud Function云函数的默认部署区域
云函数全局默认部署区域配置方案
你之前使用的单函数链式调用.region()的方式是单函数粒度的区域配置,不需要给每个函数重复写这段配置,有两种可落地的全局配置方案:
- 方案1:预初始化绑定目标区域的functions实例
在函数入口文件(通常是index.js/index.ts)顶部,直接初始化绑定了目标区域的functions实例,后续所有函数都基于这个实例定义,默认就会部署到指定区域:
// 入口文件顶部初始化全局实例,统一指定区域 const functions = require('firebase-functions').region('europe-west1'); // 后续定义的所有函数无需单独配置region,自动继承全局设置 exports.myStorageFunction = functions .storage .object() .onFinalize((object) => { // 业务逻辑 }); exports.myHttpApi = functions.https.onRequest((req, res) => { res.send('success'); });
如果有个别函数需要部署到其他区域,单独给该函数调用.region('目标区域')覆盖全局配置即可,不会影响其他函数。
- 方案2:通过部署配置文件设置全局默认值
如果你的Firebase CLI版本在v11.18.0及以上,可以直接在项目根目录的firebase.json里配置全局默认区域,不需要修改函数代码:
{ "functions": { "region": "europe-west1" // 其余原有配置(比如源码目录、运行时版本等)保持不变 } }
配置优先级说明:代码中单独为函数指定的region优先级 > 配置文件设置的全局默认值 > 官方默认的us-central1区域
内容的提问来源于stack exchange,提问作者Joeboulton
相关产品推荐
相关产品推荐

