2015-08-12 13 views
15

Ich habe ein Problem mit API-Gateway. Ich habe einige API-Methoden gemacht, manchmal arbeiten sie länger als 10 Sekunden und Amazon gibt 504 Fehler zurück. Hier Screenshot:Amazon API Gateway-Timeout

enter image description here

Bitte um Hilfe! Wie kann ich das Zeitlimit erhöhen?

Danke!

Antwort

10

Sie können das Timeout nicht erhöhen, zumindest jetzt nicht. Ihre Endpunkte müssen in maximal 10 Sekunden abgeschlossen sein. Sie müssen daran arbeiten, die Geschwindigkeit Ihrer Endpunkte zu verbessern.

http://docs.aws.amazon.com/apigateway/latest/developerguide/limits.html

+3

Betrachtet man die Einschränkungen mit Lambda und die Zeit, die es braucht, um hochzufahren (was diese Zeitüberschreitung leicht überschreiten kann), bin ich etwas überrascht, dass dies nicht konfigurierbar ist. – CasualT

+4

@CasualT: Ich weiß, das ist irgendwie alt, aber haben Sie versucht, die Menge an Speicher zu erhöhen, für die Ihre Lambda-Funktion konfiguriert ist? Lambda-Funktionen skalieren ihre CPU basierend auf dem Wert, den Sie für den Speicher wählen. Counter-intuitive Ich weiß, aber es funktioniert. Versuchen Sie es mit mindestens 1024 MB zu versuchen und sehen Sie, ob es Ihrem Startup-Lag nicht hilft. –

+0

In meinem Fall war es mehr damit verbunden, wie lange es dauerte, bis ein ruhendes Lambda hochging, und dann antwortete der Code buchstäblich hallo-world esque in der Natur. (aber ja, ich habe es mit mehr Ressourcen versucht) – CasualT

1

Während Sie das Timeout nicht erhöhen können, können Sie LAMBDA miteinander verbinden, wenn die Arbeit etwas ist, das aufgeteilt werden könnte.

Mit der aws sdk:

var aws = require('aws-sdk'); 
var lambda = new aws.Lambda({ 
    region: 'us-west-2' //change to your region 
}); 

lambda.invoke({ 
    FunctionName: 'name_of_your_lambda_function', 
    Payload: JSON.stringify(event, null, 2) // pass params 
}, function(error, data) { 
    if (error) { 
    context.done('error', error); 
    } 
    if(data.Payload){ 
    context.succeed(data.Payload) 
    } 
}); 

Quelle: Can an AWS Lambda function call another AWS Dokumentation: http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Lambda.html

+0

Während dieser Link die Frage beantworten kann, ist es besser, die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz zur Verfügung zu stellen. Nur-Link-Antworten können ungültig werden, wenn sich die verknüpfte Seite ändert. - [Aus Bewertung] (/ review/low-quality-posts/13543754) – techspider

+0

@techspider nur meine Antwort aktualisiert, danke für den Zeiger. – CamHart