如何为Python编写的Firebase Cloud Functions自定义区域?
为Firebase Cloud Functions(Python)自定义区域的实现方式
Python版本无法直接复用Node.js的.region()链式调用语法,但有两种可靠的替代方案实现自定义区域:
方案1:在函数装饰器中指定区域
Firebase Python SDK支持在函数装饰器里通过region参数直接指定区域,这是代码层面最直接的实现方式。
HTTP函数示例
import functions_framework # 指定函数部署到asia-east1区域 @functions_framework.http @functions_framework.region("asia-east1") def custom_region_http(request): return "Hello from Asia East!", 200
触发器函数示例(以Firestore为例)
import firebase_admin from firebase_admin import firestore import functions_framework firebase_admin.initialize_app() # 指定Firestore触发器函数部署到europe-west1区域 @functions_framework.region("europe-west1") @functions_framework.event_handler("google.cloud.firestore.document.v1.created") def firestore_trigger(event): # 函数业务逻辑 return
方案2:通过firebase.json配置区域
如果想批量设置或避免代码硬编码,可以修改项目根目录的firebase.json文件:
全局默认区域(所有函数生效)
{ "functions": { "region": "asia-southeast1" } }
为单个函数指定区域(覆盖全局配置)
{ "functions": { "region": "us-central1", "functions": { "custom_region_http": { "region": "asia-east1" } } } }
配置完成后执行部署命令:
firebase deploy --only functions
关于命令行指定区域的说明
目前Firebase CLI没有单独的命令参数直接为函数指定区域,必须通过上述代码装饰器或firebase.json配置的方式实现。
注意:函数部署完成后无法直接修改区域,若需更换区域,需删除原函数后重新部署到目标区域。
内容的提问来源于stack exchange,提问作者My Car
相关产品推荐
相关产品推荐

