2016-03-10 1 views
6

Je crée un site de comparaison de jeux et je voudrais inclure des prix Amazon. Le problème auquel je suis confronté est l'utilisation de leur API pour obtenir les prix des 25 000 produits que j'ai déjà.Amazon soumettant des demandes trop rapidement

J'utilise actuellement l'ItemLookup de l'API Amazons et je l'ai essayé de récupérer le prix, mais après une dizaine de résultats, j'obtiens une erreur en disant: «Vous envoyez des demandes trop rapidement. Veuillez réessayer vos demandes à un rythme plus lent.

Quelle est la meilleure façon de ralentir le taux de demande?

Merci,

Répondre

7

Si votre application tente de soumettre des demandes qui dépassent la limite de demande maximale pour votre compte, vous pouvez recevoir des messages d'erreur de la part de l'API Product Advertising. La limite de demande pour chaque compte est calculée en fonction de la performance des revenus. Chaque compte utilisé pour accéder à l'API Product Advertising est autorisé à une limite d'utilisation initiale de 1 requête par seconde. Chaque compte recevra 1 demande supplémentaire par seconde (jusqu'à un maximum de 10) pour chaque 4 600 $ de revenus d'articles expédiés au cours d'une période de 30 jours (environ 0,11 $ par minute).

De Amazon API Docs

Si vous prévoyez juste à courir une fois, puis dormir simplement pour une seconde entre les deux demandes. Si c'est quelque chose que vous envisagez d'exécuter plus fréquemment, il vaut sans doute mieux l'optimiser en vous assurant que la durée de retour de la requête est supprimée (donc, si mon API requête prend 200ms à revenir, nous ne dormons que pendant 800ms)

0

Comme il dit seulement qu'après 10 résultats, vous devriez vérifier combien de résultats que vous pouvez obtenir. S'il apparaît toujours après 10 demande rapide, vous pouvez utiliser

wait(500) 

ou plus ms. Si c'est seulement après 10 fois, vous pouvez construire une boucle et le faire toutes les 9 demandes.

0

lorsque votre demande Beaucoup de répétition. alors vous pouvez créer un cache tous les jours clair contexte. ou Contacter l'autorisation d'achat aws

0

Je suis passé par le même problème même si j'ai mis 1 secondes ou plus.

Je crois que lorsque vous commencez à faire trop de demandes avec seulement un délai d'une seconde, Amazon n'aime pas ça et pense que vous êtes un spammeur.

Vous devrez générer une autre paire de clés (et l'utiliser pour faire d'autres demandes) et mettre un délai de 1,1 seconde pour pouvoir faire à nouveau des demandes rapides.

Cela a fonctionné pour moi.