Я бы хотел иметь два экземпляра пожарного депо из соображений безопасности.Один из них является основным, а другой - только некоторые частичные данные из первого.Мой вопрос заключается в том, как я могу инициировать запись во 2-й экземпляр Firestore после onWrite в первом случае.Это даже выполнимо?
Вот что у меня в облачной функции:
"use strict";
const functions = require("firebase-functions");
const admin = require('./admin');
try {admin.initializeApp(functions.config().firebase);} catch(e) {}
const firebaseConfig2 = {
apiKey: "xxx",
authDomain: "xxx.firebaseapp.com",
databaseURL: "https://xxx.firebaseio.com",
projectId: "xxx",
storageBucket: "xxx.appspot.com",
messagingSenderId: "xxx",
appId: "1:xxx:web:xxx"
};
var xxx2 = admin.initializeApp(firebaseConfig2, 'xxx2');
const db2 = xxx2.database();
exports = module.exports = functions.firestore
.document("doc/{docId}")
.onWrite((change, context) => {
let newDoc = change.after.data();
return newDoc == xxx2
.collection("newcol")
.doc(context.params.docId)
.set(newDoc, { merge: true });
});
Правила на стороне xxx2 - чтение / запись, если верно;
Однако, получениеэта ошибка на стороне db1:
@firebase/database: FIREBASE WARNING: Provided authentication credentials for the app named "xxx2" are invalid. This usually indicates your app was not initialized correctly. Make sure the "credential" property provided to initializeApp() is authorized to access the specified "databaseURL" and is from the correct project.
Учетные данные были взяты из настроек console.firebase проекта xxx2.Они неправильные?Какие из них я должен использовать вместо?