Resource has been exhausted check quota что это
В чем причина ошибки «RESOURCE_EXHAUSTED»?
У меня есть WordPress блог. Когда я вошел в панель управления, в верхней части было выделено следующее исключение:
Из сообщения об исключении я могу сделать вывод, что это связано с Google Analytics и ее API.
Однако мне любопытно узнать, что могло послужить причиной этого исключения. Кроме того, какие шаги я могу предпринять, чтобы избежать таких исключений?
3 ответа
Манодж дал вам техническую информацию. Я собираюсь дать вам немного дополнительной информации и ответить на следующую часть вашего вопроса.
Однако мне любопытно узнать, что могло послужить причиной этого исключения. Кроме того, какие шаги я могу предпринять, чтобы избежать таких исключений?
Когда мы, как разработчики, хотим получить доступ к API Google, нам нужно зарегистрировать наше приложение в Google. Каждый API имеет свою квоту, которую разработчики должны отслеживать.
По умолчанию квота проекта для Google Analytics составляет 50000 запросов. Если у вас большое количество пользователей, делающих запросы, вы можете быстро исчерпать квоту. Например, квота на мое приложение составляет 500000, на которые работают мои пользователи, хотя примерно 70% от этого каждый день. После того, как вы введете эту квоту, ничего не поделаешь, приложение будет заблокировано до тех пор, пока квота не будет сброшена в полночь на запад по времени США.
Что можно сделать, чтобы этого избежать. Прежде всего, автору плагина необходимо запросить дополнительную квоту, чтобы они могли лучше обслуживать своих пользователей, они также должны периодически проверять это, чтобы пользователи никогда не видели ее. Вероятно, им потребуется месяц, чтобы получить одобрение на дополнительную квоту. Как пользователь, вы можете помочь, только делая запросы, которые вам нужно сделать, не используя большую часть ежедневной квоты.
Как сказал Маной, лично вы ничего не можете сделать, чтобы это исправить, вам нужно связаться с автором плагина.
Это было вызвано тем, что вы используете плагин WordPress под названием «Google Analytics», который является одним из многих плагинов, которые вы можете использовать для простой вставки кода отслеживания аналитики в источник вашей страницы. Вы можете отключить его и установить другой плагин, который делает это без ошибок.
Кроме того, если этот плагин синхронно извлекает данные с серверов Google при каждом запросе, он без необходимости замедляет время загрузки вашей страницы. Нет причин, по которым плагин должен это делать.
Быстрый поиск показал, что плагин аналитики, используемый вашим блогом, может использовать больше посещений и квоту, допустимую Google Analytics API.
здесь вы можете найти описание ошибки и ограничения квот здесь. Пожалуйста, свяжитесь с разработчиком плагина, чтобы разобраться в этом.
Почему отображается сообщение «Ресурс исчерпан», хотя использование находится в пределах квоты?
Проблема
Я использую Google Sheets API v4 из node.js (облачные функции для Firebase) через googleapis npm для записи в Google Таблицы.
Спорадическое получение этой ошибки:
Однако здесь не говорится, какая именно квота достигнута.
В тот конкретный момент действительно было много одновременных выполнений функций, которые записывались в Google Таблицы, и некоторые из них терпели неудачу:
Консоль GCP
https://console.cloud.google.com/apis/api/sheets.googleapis.com/quotas показывает, что использование на момент выдачи находится в пределах квоты:
Предположение
Я подозреваю, что могу достичь предела квоты «Запросы на запись за 100 секунд на пользователя «… потому что диаграмма «трафик по коду ответа» показывает 2,03 запроса / с, что дает 203 запроса за 100 секунд, и все из одного учетные данные:
Однако «Использование квоты на пользователя не отображается», и ни сообщение об ошибке, ни консоль GCP не дают четкого указания на то, какая квота фактически исчерпана.
Кроме того, этому предположению есть контраргумент: общее количество «запросов за 100 секунд» в приведенной выше таблице ниже 100, и я предполагаю, что «количество запросов за 100 секунд на пользователя » не может быть больше общего.
Вопросы
Обновление на основе комментария
Вот ссылки на реальный репозиторий кода.
Это не минимальный воспроизводимый пример, это фактический используемый код. Я не думаю, что в данном случае стоит время приводить воспроизводимый пример, потому что вопрос в первую очередь связан с интерпретацией сообщения об ошибке и выяснением того, какой конкретный предел квоты был достигнут.
YouTube Data API v3 returns 429 Resource has been exhausted, haven’t used nearly full quota
I’m using the YouTube Data API v3 to insert playlists and playlist items.
Today I created 8 Playlists and 187 videos which I believe is 9,400 «units» of quota over about 90 minutes and got this message.
Here’s what’s listed on the Quota page in cloud console for this key which seems to have enough overhead for this.
Then I got to thinking perhaps this is a «per user» limit being reached.
And here’s what’s listed on the Quota page in cloud console for this key.
Quota | Limit |
---|---|
Queries per minute per user | 180,000 |
Queries per minute | 1,800,000 |
And according to the «Queries Per Minute» report in the Dev platform our queries per minute maxed out at 1,600 and the graph for «Quota Exceeded» is empty.
So my first question is, are these numbers accurate? How could the per user or per minute quotas be so much higher than the daily quota?
Second question is, if these numbers are not accurate, where can the accurate numbers for «Queries per minute per user» and «Queries per minute» be found?
Lastly, is there a way to hit an endpoint to get more precise quote usage data or a more precise error message?
Thank you for any guidance here, Todd
1 Answer 1
TOO_MANY_REQUESTS (429)
rateLimitExceeded Too many requests have been sent within a given time span.
Thus the API is signaling you that you’ve issued too many API requests in a small amount of time.
An accustomed solution to this is to have your program catch these kind of errors for to implement exponential backoff retrying the culprit API call.
Addendum
According to Google staff, you have to wait for a while before you’re allowed to create new playlists:
Status: Won’t Fix (Intended Behavior)
Creating high volumes of playlists via the API in a short amount of time may result in this error. The length of time to wait is variable. You may wish to use a method such as exponential backoff or queuing for a retry later in cases where you’re attempting to fulfill a request on behalf of a user.
Do note that you hit an undocumented limit of YouTube Data API. Unfortunately, this API has quite a few of them. Stackoverflow and Google’s own issue tracker did uncovered some of those limits.
Как восстановить из 429 Ресурс был исчерпан (например, проверить квоту)
Мои вопросы просты, я использую PEOPLE API, и я пропустил ограничение квоты для одного из пользователей, использующих API, ошибка отображается только при попытке создать новый контакт для этого конкретного пользователя.
В сообщении об ошибке указан код: 429, сообщение: ресурс исчерпан (например, проверьте квоту).
Я не хочу увеличивать квоту, я хочу снова восстановить квоту. Вдобавок к этому в моей панели разработчика нет никаких указаний на то, что я превысил квоту, которая для PEOPLE API ограничена 90 в минуту.
Мой код:
И массаж перенастройки:
На изображении ниже вы можете увидеть мою консоль разработчика google, которая показывает, что я использовал только 25 запросов createContact в течение 2 дней со 100% сообщением об ошибке, которое является сообщением здесь. изображение
Кстати, спасибо за вашу помощь.
1 ответ
Я нашел решение проблемы, и я должен быть немного подробным, объясняя решение.
Вкратце:
У моего пользователя 9000 видимых контактов и 16000 удаленных контактов, что дает в общей сложности 25000 контактов, из-за чего ошибка 429 отображается каждый раз, когда я пытаюсь создать новый контакт.
Решение:
Удалите все удаленные контакты, и все должно быть решено.
Надежда:
Google разрешает доступ к People API для контактов в удаленной корзине, и эта ошибка 429 лучше объясняет, к чему она относится, потому что я вижу, что в этом случае это не проблема квоты.
Важно:
Большое спасибо @ ale13 за ваше намерение помочь, я оставлю это здесь на случай, если будущие разработчики столкнутся с той же проблемой.
How to restore from 429 Resource has been exhausted (e.g. check quota)
my questions are simple, I am using PEOPLE API and I have skipped the quota limit for one of the users using the API, the error is only shown when trying to create a new contact for this specific user.
The error says code: 429, message: Resource has been exhausted (e.g. check quota).
I do not want to increase the quota, what I want is to restore the quota again. Additionally to this in my developer panel there is no indication that I have exceeded the quota which for PEOPLE API is limited to 90 per minute.
My code is:
And the retuning massage is:
The image below you can see my developer google console and it shows that i only have used 25 createContact request in a period of 2 days with a 100% error message which is the message a post here. image
By the way thanks for your help.
1 Answer 1
I have found the solution to the problem and I have to be a bit extensive when explaining the solution.
Each google user has a limit on the number of contacts that can be stored in his contacts.google.com account, the limit is 25,000 contacts, if you exceed this limit the error shown in People API is 429 = Too Many Requests, my user only has 9000 contacts so the limit was not the cause of the problem, but what it had not considered is that a few weeks ago Google added a buttom basket for deleted contacts to contacts.google.com and it looks like that each contact deleted is stored and counted as a contact within contacts.google.com. This is what happened to me.
In summary:
My user has 9,000 visible contacts and 16,000 deleted contacts giving a total of 25,000 contacts causing error 429 to be displayed every time I try to create a new contact.
Solution:
Delete all deleted contacts, and everything should be resolved.
Hope:
Google allows access to People API to the contacts in the deleted basket and that error 429 better explains what it refers to cuz as i see in this case it is not a quota problem.
Important:
Thank you very much to @ale13 for your intent to help, I will leave this here in case future developers face the same problem.