Облачные функции 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, где мы можем иметь миллионы звонков в день?

Большое спасибо за любые рекомендации.

0 ответов

Другие вопросы по тегам