Amazon API отправляет запросы слишком быстро

Я создаю веб-сайт сравнения игр и хотел бы, чтобы в него были включены цены Amazon. Проблема, с которой я столкнулся, заключается в использовании их API для получения цен на 25 000 продуктов, которые у меня уже есть.

В настоящее время я использую ItemLookup от Amazons API, и он работает для получения цены, однако примерно после 10 результатов я получаю сообщение об ошибке: «Вы отправляете запросы слишком быстро. Пожалуйста, повторите ваши запросы с меньшей скоростью».

Как лучше всего замедлить скорость запросов?

Спасибо,


person Phil    schedule 10.03.2016    source источник


Ответы (4)


Если ваше приложение пытается отправить запросы, которые превышают максимальный лимит запросов для вашей учетной записи, вы можете получать сообщения об ошибках от Product Advertising API. Лимит запросов для каждой учетной записи рассчитывается на основе показателей дохода. Для каждой учетной записи, используемой для доступа к Product Advertising API, разрешен первоначальный лимит использования в 1 запрос в секунду. Каждая учетная запись будет получать дополнительный 1 запрос в секунду (максимум до 10) за каждые 4600 долларов дохода от отгруженных товаров за последний 30-дневный период (около 0,11 доллара США в минуту).

Из документов Amazon API

Если вы просто планируете запустить это один раз, просто спите на секунду между запросами.

Если это то, что вы планируете запускать чаще, вероятно, стоит еще больше оптимизировать его, убедившись, что продолжительность времени, затрачиваемого на возврат запроса, не превышает этот сон (так, если мой запрос API занимает 200 мс для вернись, мы спим всего 800мс)

person Doug    schedule 10.03.2016

Так как это говорит только о том, что после 10 результатов вы должны проверить, сколько результатов вы можете получить. Если он всегда появляется после 10 быстрых запросов, вы можете использовать

 wait(500)

или еще мс. Если это только после 10 раз, вы можете построить цикл и делать это каждый 9-й запрос.

person Valentin Bauer    schedule 10.03.2016

когда ваш запрос Много повторений. то можно каждый день создавать кеш четкого контекста. или Свяжитесь с авторизацией покупки aws

person Tim    schedule 16.05.2016

Я столкнулся с той же проблемой, даже если я поставил задержку на 1 или более секунд.

Я считаю, что когда вы начинаете делать слишком много запросов с задержкой всего в одну секунду, Amazon это не нравится, и они думают, что вы спамер.

Вам придется сгенерировать еще одну пару ключей (и использовать ее при дальнейших запросах) и установить задержку в 1,1 секунды, чтобы снова иметь возможность делать быстрые запросы.

Это сработало для меня.

person Pierrick Martellière    schedule 29.01.2018