Облачные функции Firebase - разрешения DNS
У меня проблема с разрешениями DNS, которая превышает квоту быстрее, чем вызваны мои функции.
Я использую облачные функции Firebase для отслеживания статуса "подключен" наших пользователей. Мы обновляем поле базы данных firebase "isLive" при каждом событии "onDisconnect" наших мобильных приложений. Я реализовал облачную функцию Firebase, слушая это поле. При каждом вызове я выполняю запросы на получение данных из нашей базы данных Firebase и обновление других данных, в том числе из нашей базы данных Firebase.
Вот моя реализация,
exports.profileIsLive = functions.database.ref("users/{uid}/profile/isLive").onWrite((event) => {
const rootRef = event.data.ref.root;
const uuid = event.params.uid;
const conversationRef = rootRef.child("/users/" + uuid + "/conversations");
return conversationRef.once('value')
.then(snapshot => {
const updates = [];
snapshot.forEach(function (child) {
let conversationId = child.val();
let otherUserUuid = child.key;
let snippetIsLive = "users/" + otherUserUuid + "/conversations/" + conversationId + "/isLive";
updates.push(rootRef.child(snippetIsLive).set(event.data.val()).catch(error => {
return;
}));
let participantIsLive = "conversations/" + conversationId + "/participants/" + uuid + "/isLive";
updates.push(rootRef.child(participantIsLive).set(event.data.val()).catch(error => {
return;
}));
if (!event.data.val()) {
let participantLastSeen = "conversations/" + conversationId + "/participants/" + uuid + "/lastSeen";
updates.push(rootRef.child(participantLastSeen).set(admin.database.ServerValue.TIMESTAMP).catch(error => {
return;
}));
}
});
return Promise.all(updates);
});
});
Я не понимаю, почему у меня есть разрешения DNS здесь. Есть ли разрешение при каждом обращении к базе данных Firebase? Если так, почему квота разрешения DNS установлена на 4000, где мы можем иметь миллионы звонков в день?
Большое спасибо за любые рекомендации.