Допустим, у меня есть проект Firebase с именем "A". В этом проекте у меня есть функция Firebase, запускаемая Cloud Firestore, которая должна запускаться при изменении документа в Firestore. По умолчанию функция Firebase будет прослушивать изменения в Firestore в проекте A.
Однако, скажем, у меня есть особый вариант использования, когда существует второй проект Firebase с именем "B". Мне нужно, чтобы функция Firebase в проекте A была запущена при изменениях Firestore, которые происходят с Firestore в проекте B.
Возможно ли это? Документы Firebase показывают инициализацию нескольких проектов, что позволило бы мне подключиться к нескольким базам данных следующим образом:
const admin = require("firebase-admin");
const serviceAccount = require("path/to/serviceAccountKey.json");
const secondaryAppConfig = {
credential: admin.credential.cert(serviceAccount),
databaseURL: "https://<DATABASE_NAME>.firebaseio.com"
};
// Initialize another app with a different config
const secondary = firebase.initializeApp(secondaryAppConfig, "secondary");
// Retrieve the database.
const secondaryDatabase = secondary.database();
Но это не позволяет мне запускать функцию Firebase Triggered Firebase в моем дополнительном проекте. Функции Firebase напрямую вызывают методы firebase-functions
, тогда как вызов базы данных вызывает инициализированный проект.
const functions = require('firebase-functions');
exports.myFunction = functions.firestore
.document('...')
.onWrite((change, context) => { /* ... */ });
Возможно ли то, что я хотел бы сделать? Или у кого-нибудь есть обходной путь (кроме создания этой функции Firebase в проекте B)?