Amazon API gateway timeout
J'ai quelques problème avec la passerelle API. J'ai fait quelques méthodes de l'API, ils travaillent parfois plus de 10 secondes et Amazon renvoie d'erreur 504. Voici la capture d'écran ci-dessous:
S'il vous plaît aider! Comment puis-je augmenter délai d'attente?
Merci!
- avez-vous résoudre ce problème?
Vous devez vous connecter pour publier un commentaire.
Droit maintenant à la limite par défaut pour Lambda invocation ou l'intégration HTTP est 30s selon http://docs.aws.amazon.com/apigateway/latest/developerguide/limits.html et cette limite n'est pas configurable.
Vous ne pouvez pas augmenter le délai d'attente, au moins pas maintenant. Vos points de terminaison doit remplir en 10 secondes ou moins. Vous avez besoin de travailler sur l'amélioration de la vitesse de vos points de terminaison.
http://docs.aws.amazon.com/apigateway/latest/developerguide/limits.html
De Dec/2017, la valeur maximale est toujours de 29 secondes, mais devrait être en mesure de personnaliser la valeur de délai d'expiration.
https://aws.amazon.com/about-aws/whats-new/2017/11/customize-integration-timeouts-in-amazon-api-gateway/
Ce qui peut être défini dans "l'Intégration de la Demande" de chaque méthode dans APIGateway.
Lambda fonctions de temporisation après une max. de 5 min; Passerelle API demandes expire au bout de 29 secondes. Vous ne pouvez pas changer cela, mais vous pouvez le contourner avec mode d'exécution asynchrone modèle, je l'ai écrit je blog sur:
https://joarleymoraes.com/serverless-long-running-http-requests/
Alors que vous ne pouvez pas augmenter le délai d'attente, vous pouvez lier lambda ensemble si le travail est quelque chose qui pourrait être fractionnée.
En utilisant le sdk aws:
Source: Peut AWS Lambda fonction en appelle une autre
AWS Documentation: http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Lambda.html
Délais d'attente peut être réduite, mais ne peut pas être augmentée de plus de 29 secondes. Le backend de votre méthode doit retourner une réponse avant le 29 secondes d'autre de la passerelle API va jeter 504 erreur de dépassement de délai.
Sinon, comme le suggère quelques réponses ci-dessus, vous pouvez modifier l'interface pour envoyer le code d'état 202 (Accepté) qui signifie que la demande a été reçue avec succès et le backend, puis continue la poursuite du traitement. Bien sûr, nous avons besoin de considérer le cas d'utilisation et les exigences avant de mettre en œuvre la solution de contournement