2016-03-14 29 views
5

Próbuję utworzyć układ do backend z AWS API Brama i Lambda.
W ostatnich dniach utworzyłem metodę PUT dla nowego zasobu API, z kluczem API jako prostym pierwszym krokiem bezpieczeństwa. Metoda PUT wywołuje funkcję Lambda na AWS.
Następnie wdrożyłem ten interfejs API na etapie "prod" dla niektórych testów.AWS API Bramka: Błąd 429 Zbyt wiele żądań

W pierwszych dniach wszystko działało dobrze zgodnie z oczekiwaniami: Stworzyłem połączenie z API z listonoszem i otrzymałem wszystkie dane, których się spodziewałem. Ale kilka dni temu zacząłem otrzymywać zawsze"Zbyt wiele żądań" odpowiedź. Stworzyłem także nowy etap, ale nic się nie zmieniło: również nowy etap, z tą samą wersją lub nowszą wersją, zawsze powoduje ten sam błąd.
Interfejs API nie osiąga żadnego limitu, ponieważ nazywane są 4 lub 5 razy na dzień, a nie na sekundę (zaznaczone w CloudWatch). Nie ma cyklu, to tylko jedna inwokacja. Przypuszczam, że nie ma błędu po stronie lambda, ponieważ jeśli przetestuję API w konsoli AWS API Gateway, nie otrzymam błędu (i lambda działała dobrze w przeszłości, bez nowych zmian z tej wersji). Błąd pojawia się tylko wtedy, gdy korzystam z zewnętrznego klienta do testowania mojego interfejsu API (w moim przypadku jest to Postman).

Czy ktoś może pomóc rozwiązać ten problem?

AKTUALIZACJA: Właśnie utworzyłem metodę POST na tym samym zasobie, z tymi samymi parametrami i taką samą wartością lambda. To działa. Zastanawiam się, czy problem jest ogólnie związany z metodami PUT, czy też w ciągu 2 dni ten sam problem będzie dotyczył również mojej metody.

Odpowiedz

4

Miałem ten sam problem. Usunąłem i ponownie utworzyłem wdrożenie. To zadziałało w moim przypadku.

+0

Wydaje się teraz jedynym rozwiązaniem – napcoder

+0

Podczas automatyzacji po raz pierwszy zdarzyło się to tylko raz. Po ręcznym usunięciu zasobów interfejsu API ponowne odtworzenie automatyzacji i problem nie wystąpiły ponownie. –

0

Here to link do błędów związanych z bramą API Amazon. Ostatni akapit zawiera dodatkowe informacje na temat błędu 429, który omówiono powyżej.

+1

Już widziałem, ale nie pomagam. Jeśli chodzi o dodatkowe informacje, jeśli mówisz o "Próby błędów i Exponential Backoff", próbuję ręcznie z sekundami lub minutami, a także dni między jednym żądaniem i drugim. Nic się nie zmienia. – napcoder