Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Wie Lambda mit Fehlern und Wiederholungsversuchen mit asynchronem Aufruf umgeht
Lambda verwaltet Ihre asynchrone Ereigniswarteschlange der Funktion und unternimmt bei Fehlern Wiederholungsversuche. Wenn die Funktion einen Fehler zurückgibt, versucht Lambda standardmäßig zwei weitere Male, sie auszuführen. Dabei wird eine Minute lang zwischen den ersten zwei Versuchen und zwei Minuten lang zwischen dem zweiten und dem dritten Versuch gewartet. Zu den Eventfunktionsfehlern gehören Fehler, die vom Code der Funktion zurückgegeben werden, und Fehler, die von der Laufzeit der Funktion zurückgegeben werden, z. B. Timeouts.
Wenn für die Ereignisfunktion nicht genügend Parallelität zur Verfügung steht, um alle Ereignisse zu verarbeiten, werden zusätzliche Anfragen gedrosselt. Bei Drosselungsfehlern (429) und Systemfehlern (500-Serie) sendet Lambda das Ereignis zur Warteschlange zurück und versucht standardmäßig bis zu 6 Stunden lang, die Funktion erneut auszuführen. Das Wiederholungsintervall erhöht sich exponentiell von 1 Sekunde nach dem ersten Versuch auf maximal 5 Minuten. Lambda stellt viele Einträge in die Warteschlange, erhöht das Wiederholungsintervall und reduziert die Rate, mit der es Ereignisse aus der Warteschlange liest.
Selbst wenn Ihre Event-Funktion keinen Fehler zurückgibt, ist es möglich, dass sie dasselbe Ereignis mehrmals von Lambda empfängt, da die Warteschlange selbst irgendwann konsistent ist. Wenn die Funktion mit eingehenden Ereignissen nicht Schritt halten kann, kann es auch vorkommen, dass Ereignisse aus der Warteschlange gelöscht werden, ohne zur Funktion gesendet zu werden. Stellen Sie sicher, dass Ihr Funktionscode doppelte Ereignisse ordnungsgemäß verarbeitet und dass Sie über genügend Gleichzeitigkeit zur Verarbeitung aller Aufrufe verfügen.
Wenn die Warteschlange sehr lang ist, können neue Ereignisse ablaufen, bevor Lambda sie an Ihre Event-Funktion senden kann. Wenn ein Ereignis abläuft oder bei ihm alle Verarbeitungsversuche fehlschlagen, wird es von Lambda verworfen. Sie können die Fehlerbehandlung für eine Event-Funktion konfigurieren, um die Anzahl der Wiederholungen zu reduzieren, die Lambda durchführt, oder um unverarbeitete Ereignisse schneller zu verwerfen. Konfigurieren Sie eine Warteschlange für unzustellbare Nachrichten, um verworfene Ereignisse zu erfassen. Zur Erfassung von Aufzeichnungen fehlgeschlagener Aufrufe (z. B. Zeitüberschreitungen oder Laufzeitfehler) zu erfassen, erstellen Sie Fehlerziel.