Я много искал по этому вопросу и, похоже, не нашел нужной информации. Как вы обрабатываете многопутевые обновления в БД реального времени, чтобы не задавать значение rateLimitExceeded (число триггеров на 100 с по триггерам вашей функции, onWrite, onUpdate, onCreate, onDeleted)?
Наши триггеры настроены так:
exports.markersUpdate = functions.database.ref('/v1/markers/{pushId}').onWrite((change, context) => {
const record = change.after.val();
const fbKey = context.params.pushId;
...
});
Я подумал, что, возможно, я мог бы запустить на родительском узле так, но это вернуло бы всю коллекцию, а не только обновления:
exports.markersUpdate = functions.database.ref('/v1/markers').onWrite((change, context) => {
...
});
Эта функция в основном реплицирует обновления в хранилище данных для лучшего анализа данных. Это работает нормально, но нашему приложению иногда нужно обновлять несколько сотен записей одновременно, и мы получаем ошибку rateLimitExceeded даже в плане Blaze.
Есть ли способ получить список обновленных элементов, чтобы я мог обработать его в функции?