在google应用引擎上运行firebase admin和firestore



我目前在谷歌应用程序引擎上运行node js服务器,在服务器中,我使用firebase-admin包与firebase进行交互。我遵循文档https://firebase.google.com/docs/admin/setup并像这样初始化应用程序:

import admin from 'firebase-admin';
const NODE_ENV = process.env.NODE_ENV;
if (NODE_ENV === 'production') {
admin.initializeApp();
} else {
// eslint-disable-next-line @typescript-eslint/no-var-requires
const firebaseAccountCredentials = require('../../credentials.json');
const serviceAccount = firebaseAccountCredentials as admin.ServiceAccount;
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
});
}
export const db = admin.firestore();

它在本地工作得很好,因为我正在传递credentials,但是当它在应用程序引擎内运行时,我看到这个错误:details: 'The Cloud Firestore API is not available for Datastore Mode projects.'

我是否必须设置服务帐户才能连接到firebase?如果有,那是怎么回事?找不到相关文档

这是我的app.yaml

runtime: nodejs
env: flex

感谢

您得到的错误消息是相当不言自明的。发生的事情是,您正在尝试使用Firestore管理SDK在数据存储模式下连接到Firestore数据库,这是不可能的。

这在本地环境中工作的原因可能是因为您使用的是在本机模式下正确设置Firestore的模拟器,但在实时环境中,您可能将其设置为具有数据存储模式的Firestore,为了修复它,您将不得不在本机模式下创建另一个Firestore。

相关内容

  • 没有找到相关文章

最新更新