Функция Firebase cloud возвращает ошибку 429

#firebase #google-cloud-functions

#firebase #google-cloud-функции

Вопрос:

У меня есть план spark Firebase, поэтому он бесплатный. Я пытаюсь записать CSV-файл в мою базу данных firestore. В ней содержится 13500 записей, и после примерно 50-100 записей облачная функция, которую я вызываю, возвращает ошибку 429 (слишком много запросов). Я отправляю каждую запись в мою функцию firebase cloud, и эта функция записывает мои данные в документ. Между каждым запросом я жду 5 секунд. Кто-нибудь знает, в чем может быть проблема?

        export const WriteToDb = functions.region("europe-west1").https.onRequest((request, response) => {

      try {
       var recievedData:string = request.body   '';
       var splittedData = recievedData.split(",");



       var data  = {City: splittedData[0],
                      Zipcode: splittedData[1],
                      State: splittedData[2]};

      const promise = admin.firestore().collection("Cities").doc().set(data);
       promise.then( () => {
       response.send("worked");
        }).catch(() => {
         console.log("Failed in PROMISE");
           response.send("crashed");
                      });               
      } 

catch (error) {
         console.log(error);

         response.send("Failed before DB connecection");
      }
  

Комментарии:

1. Скорее всего, вы просто достигли предела бесплатного уровня. Вместо того, чтобы записывать один раз для каждой записи, можете ли вы объединить их, а затем просто записать один раз в firebase?

Ответ №1:

Проверьте https://console .firebase.google.com /

Функции -> Журналы

Это отображается? Учетная запись для выставления счетов не настроена. Внешняя сеть недоступна, а квоты строго ограничены. Настройте учетную запись для выставления счетов, чтобы удалить эти ограничения

Функции -> Работоспособность

Ошибка: превышена квота (Превышена квота для группы квот ‘FunctionCallsNonbillable’ и ограничения ‘Вызовов функций за 100 секунд’обслуживания ‘cloudfunctions.googleapis.com ‘ для потребителя ‘project_number:’.); чтобы увеличить квоты, включите выставление счетов в вашем проекте по адресуhttps://console.cloud.google.com/billing?project =. Функция не может быть выполнена.

Такая же проблема возникла для моей облачной функции, и после включения выставления счетов проблема решена.

Или попробуйте увеличить лимиты квот в соответствии с документацией Google

Google Firebase регулирует запросы. Пожалуйста, исправьте https://cloud.google.com/service-infrastructure/docs/rate-limiting

Показатели квот

Метрика — это именованный счетчик для измерения определенного значения с течением времени. Например, количество HTTP-запросов, которые получает служба, является показателем. Показатель квоты — это показатель, который используется для целей ограничения квот и скорости. При выполнении действия с сервисом может увеличиться одна или несколько метрик квоты. Когда значение показателя достигает заданного предела квоты, служба должна отклонить действие с ошибкой 429.