#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.