私はfirebase-queue
のクラウド機能に移動するために、Firebase用のクラウド機能を試しています。特定のrefで新しいノードを作成するたびに、最後に更新されたタイムスタンプを追加する単純な関数を追加しました。この関数は次のようになります。Firebaseのクラウド機能が何度も呼び出されました
var functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.setLastUpdatedTimestamp = functions.database.ref('/nodes/{nodeId}')
.onWrite(event => {
const original = event.data.val();
console.log('Adding lastUpdatedTimestamp to node ', original.name);
return event.data.ref.child('lastUpdatedAtFromFC').set(Date.now());
});
私はこの雲の機能を展開し、私のアプリからわずか1つのノードを追加しました。私はFirebase Functionsダッシュボードに行き、その機能が169回呼び出されたことを知り、理由は分かりません。ログを見ると、過去のすべてのノードにも関数を追加するようなログが表示されます。
onWrite
はchild_added
のような振る舞いをしていて、既存のすべてのエンティティの機能を同様に実行するのでしょうか?
この操作は、機能を変更して再度展開するたびに繰り返されますか?
新しく追加されたノードでは1回しか実行されませんでした。
以下の回答を確認してください –