You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 15:52:02