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

如何在Firebase项目中调用其他项目/域名下部署的Cloud Run服务

结论

Firebase Hosting 原生提供的 Cloud Run 重写规则仅支持调用同一GCP项目下的Cloud Run服务,没有内置参数支持直接指定其他项目的Cloud Run实例,部署时返回的Error: HTTP Error: 400, Cloud Run service service-name does not exist in region europe-north1 in this project报错,本质是Firebase Hosting只会在当前关联的GCP项目下检索指定的Cloud Run服务,不会跨项目查找。

如果要实现跨项目调用同时满足降本需求,可以采用以下两种成熟方案:

  • 方案1:同项目部署2代Cloud Function做转发
    在Firebase所属的GCP项目中部署一个极简的2代Cloud Function,功能仅为透传所有请求到跨项目的Cloud Run服务地址,同时透传请求头、请求体和响应内容。配置Firebase Hosting的重写规则指向该同项目的2代Cloud Function即可。
    GCP跨项目的内部服务调用走谷歌骨干网,不会产生公网流量费用,转发逻辑的性能损耗可以忽略不计,完全满足降低流量开销和账单成本的需求。
  • 方案2:跨项目IAM授权后使用内部端点调用
    为Firebase项目的默认服务账号授予Cloud Run所属项目的roles/run.invoker权限,允许Firebase侧的服务访问目标Cloud Run。开启目标Cloud Run的VPC访问配置,使用GCP内部服务端点进行调用,同样可以避免公网流量成本。该方案不需要额外部署中转服务,需要自行处理请求路由逻辑。

目前官方没有公开支持跨项目Cloud Run直接重写的相关规划,原生配置层面暂时没有更简单的实现方式。

内容的提问来源于stack exchange,提问作者PovilasID

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 15:21:01