Da Api Gateway Zeitlimit 10 Sekunden ist, um jede Anfrage auszuführen Ich versuche, mit Timeout-Fehler umzugehen, aber a habe keine Möglichkeit gefunden, eine benutzerdefinierte Nachricht zu fangen und zu beantworten.Catching Timeout Fehler in AWS Api Gateway
Kontext des Problems: Ich habe eine Funktion, die weniger als 2 Sekunden zur Ausführung benötigt, aber wenn die Funktion einen Kaltstart ausführt, dauert es manchmal mehr als 10 Sekunden, eine Verbindung mit DynamoDB in Java zu erstellen. Ich habe meine Funktion bereits mit Threads optimiert, kann aber immer noch nicht zwischen 10 Sekunden für den ersten Anruf halten.
Ich muss einen Weg finden, um eine Antwort-Modell wie folgt zu liefern:
{
"error": "timeout"
}
eine Lösung finden ich eine Funktion in Lambda erstellt, die absichtlich etwas nach 10 Sekunden der Ausführung reagiert. Ich erhalte diese Antwort die Integration mit Api-Gateway zu tun:
Request: /example/lazy
Status:
Latency: ms
Antwort Körper
{
"logref": "********-****-****-****-1d49e75b73de",
"message": "Timeout waiting for endpoint response"
}
In Dokumentation fand ich, dass Sie, diese Fehler fangen kann in Integration Antwort HTTP-Status regex. Aber ich habe keinen Weg gefunden und es scheint, dass niemand im Internet das gleiche Problem hat, da ich diese spezielle Nachricht in keinem Forum gefunden habe.
Ich habe mit diesem regex versucht:
.*"message".*
Timeout.*
.*"status":400.*
.*"status":404.*
.*"status":504.*
.*"status":500.*
Jeder weiß Hexe regex Ich soll diese "Nachricht" zu erfassen verwenden: „Timeout ...
Tanks, das war sehr nützlich. Ich wusste nichts über die 30 Sekunden. –