【发布时间】:2021-04-06 17:50:21
【问题描述】:
我在将 firebase 函数模拟器运行到生产数据库时遇到问题。我有一个尚未公开发布的项目,因此我可以在生产过程中产生任何负面影响。
我的项目仅使用实时数据库,它不使用 Firestore(因此关于 SO 的其他问题不相关)文档指出“Cloud Firestore 和实时数据库触发器已经有足够的凭据,并且不需要额外的设置。”所以据此,我不需要任何额外的设置来指向生产数据库。
根据 Firebase 上的所有文档,如果我只启动函数模拟器而不启动数据库模拟器,项目应该运行到真正的 firebase 数据库。这个警告似乎也这么说:
functions:以下模拟器未运行,从 Functions 模拟器调用这些服务将影响生产:auth、firestore、database、hosting、pubsub
但是,事实并非如此。相反,我收到以下错误:
functions[onGlobalClientRequest]:函数被忽略,因为数据库模拟器不存在或没有运行。
我已经阅读了 firebase 文档,除了不需要设置凭据外,没有真正提到任何内容(但我在运行函数模拟器之前使用export GOOGLE_APPLICATION_CREDENTIALS="/path/to/credentials.json" 设置凭据。)
onGlobalClientRequest 如下所示:
export const onGlobalClientRequest = functions.database
.ref( client_requests_key + "/{pushedid}")
.onCreate(
async (
snap: functions.database.DataSnapshot,
context: functions.EventContext,
) => {
///.... code here...
},
);
【问题讨论】:
标签: firebase firebase-realtime-database google-cloud-functions