GCP Cloud Run部署Flask API遇Firestore API禁用,求助使用现有Firebase项目
问题原因及解决办法
不是GCP混淆了服务,问题出在你的代码里:
- 你导入了
firebase_admin的firestore模块,哪怕没主动调用Firestore相关功能,Firebase Admin SDK在初始化时,会因为这个导入预加载Firestore客户端组件,进而尝试访问Cloud Firestore API。而你的项目里这个API处于禁用状态,所以触发了400错误。
解决步骤:
- 修改导入代码,移除不必要的
firestore模块:from flask import Flask, request from flask_cors import CORS, cross_origin import requests from firebase_admin import credentials, auth, initialize_app - 保持Firebase初始化代码不变:
cred = credentials.Certificate('firebase-key.json') initialize_app(cred) - 重新构建镜像并部署到Cloud Run,再发起请求测试。
补充说明:Firebase的Firestore本质就是GCP的Cloud Firestore,两者是同一个服务,只是提供了不同的操作入口(Firebase控制台 vs GCP控制台)。你不需要启用Cloud Firestore API的话,只要确保代码里不引入相关模块,就不会触发对该API的调用。
内容的提问来源于stack exchange,提问作者maufcost
相关产品推荐
相关产品推荐

