View a markdown version of this page

Langlebige Lambda-Funktionen - AWS Lambda

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.

Langlebige Lambda-Funktionen

Mit AWS Lambda langlebigen Funktionen können Sie robuste mehrstufige Anwendungen und KI-Workflows erstellen, die bis zu einem Jahr lang ausgeführt werden können und trotz Unterbrechungen einen zuverlässigen Fortschritt gewährleisten. Wenn eine dauerhafte Funktion ausgeführt wird, wird dieser komplette Lebenszyklus als dauerhafte Ausführung bezeichnet. Dabei werden Checkpoints verwendet, um den Fortschritt zu verfolgen und Fehler automatisch durch Wiederholung zu beheben. Dabei wird die Ausführung von Anfang an wiederholt, während abgeschlossene Arbeiten übersprungen werden.

Innerhalb jeder Funktion verwenden Sie dauerhafte Operationen als grundlegende Bausteine. Schritte führen Geschäftslogik mit integrierten Wiederholungsversuchen und Fortschrittsverfolgung aus, während Wartezeiten die Ausführung aussetzen, ohne dass Rechenkosten anfallen. Somit eignen sie sich ideal für lang andauernde Prozesse wie Human-in-the-Loop-Workflows oder das Abfragen externer Abhängigkeiten. Ganz gleich, ob Sie Aufträge verarbeiten, Microservices koordinieren oder agentische KI-Anwendungen orchestrieren — langlebige Funktionen behalten den Status automatisch bei und stellen sich nach Ausfällen wieder her, während Sie Code in vertrauten Programmiersprachen schreiben.

Anmerkung

Dieses Handbuch behandelt Lambda-Servicethemen wie Bereitstellung, Konfiguration, Berechtigungen, Aufruf, Überwachung und Kontingente. Referenzmaterial zur SDK-Programmierung, Schnellstart-Tutorials und sprachspezifische Anleitungen finden Sie im AWS Durable Execution SDK Developer Guide.

Wichtigste Vorteile

Schreiben Sie belastbaren Code auf natürliche Weise: Mit vertrauten Programmierkonstrukten schreiben Sie Code, der Fehler automatisch behandelt. Built-in Checkpointing, transparente Wiederholungsversuche und automatische Wiederherstellung sorgen dafür, dass Ihre Geschäftslogik sauber und konzentriert bleibt.

Zahlen Sie nur für das, was Sie tatsächlich nutzen: Während des Wartevorgangs wird Ihre Funktion unterbrochen, ohne dass Rechenkosten anfallen. Bei Workflows mit langer Laufzeit, die Stunden oder Tage warten, zahlen Sie nur für die tatsächliche Verarbeitungszeit, nicht für ungenutzte Wartezeiten.

Einfache Bedienung: Mit dem serverlosen Modell von Lambda erhalten Sie automatische Skalierung, einschließlich einer Skalierung auf Null, ohne die Infrastruktur verwalten zu müssen. Stabile Funktionen übernehmen automatisch die Statusverwaltung, die Logik für Wiederholungsversuche und die Fehlerbehebung, wodurch der betriebliche Aufwand reduziert wird.

Wann sollten langlebige Funktionen verwendet werden

Short-lived Koordination: Koordinieren Sie Zahlungen, Inventar und Versand für mehrere Services mit automatischem Rollback bei Ausfällen. Verarbeiten Sie Bestellungen von der Validierung über die Zahlungsautorisierung bis hin zur Inventarzuweisung und Erfüllung mit garantierter Fertigstellung.

Verarbeiten Sie Zahlungen mit Zuversicht: Bauen Sie stabile Zahlungsabläufe auf, die den Transaktionsstatus auch bei Fehlern beibehalten und Wiederholungen automatisch abwickeln. Koordinieren Sie mehrstufige Autorisierungen, Betrugsprüfungen und Abwicklungen zwischen Zahlungsanbietern und sorgen Sie so für vollständige Überprüfbarkeit in allen Schritten.

Erstellen Sie zuverlässige KI-Workflows: Erstellen Sie mehrstufige KI-Workflows, die Modellabrufe verketten, menschliches Feedback einbeziehen und lang andauernde Aufgaben bei Ausfällen deterministisch erledigen. Wird nach einer Sperrung automatisch fortgesetzt und nur für die aktive Ausführungszeit bezahlt.

Orchestrieren Sie die komplexe Auftragsabwicklung: Koordinieren Sie die Auftragsabwicklung über Bestands-, Zahlungs-, Versand- und Benachrichtigungssysteme hinweg mit integrierter Ausfallsicherheit. Behandeln Sie Teilausfälle automatisch, behalten Sie den Auftragsstatus trotz Unterbrechungen bei und warten Sie effizient auf externe Ereignisse, ohne Rechenressourcen zu verbrauchen.

Automatisieren Sie mehrstufige Geschäftsabläufe: Erstellen Sie zuverlässige Workflows für das Onboarding von Mitarbeitern, Kreditgenehmigungen und Compliance-Prozesse, die sich über Tage oder Wochen erstrecken. Behalten Sie den Status Ihrer Arbeitsabläufe bei menschlichen Genehmigungen, Systemintegrationen und geplanten Aufgaben bei und bieten Sie gleichzeitig einen vollständigen Überblick über den Prozessstatus und die Historie.

Wie lassen sich langlebige Funktionen mit Step Functions vergleichen

Sowohl langlebige Funktionen als auch Step Functions ermöglichen eine Workflow-Orchestrierung mit automatischer Statusverwaltung. Die wichtigsten Unterschiede bestehen darin, wo sie ausgeführt werden und wie Sie Workflows definieren:

  • Dauerhafte Funktionen: Wird innerhalb von Lambda ausgeführt, verwendet Standardprogrammiersprachen und wird in der Lambda-Umgebung verwaltet

  • Step-Funktionen: Eigenständiger Service, grafischer DSL- oder Grafikdesigner, vollständig verwaltet und wartungsfrei

Langlebige Funktionen eignen sich ideal für die Anwendungsentwicklung in Lambda, wo Arbeitsabläufe eng mit der Geschäftslogik verknüpft sind. Step Functions zeichnet sich durch eine serviceübergreifende AWS Workflow-Orchestrierung aus, für die Sie ein visuelles Design, native Integrationen für über 220 Dienste und eine wartungsfreie Infrastruktur benötigen.

Einen ausführlichen Vergleich finden Sie unter Durable Functions oder Step Functions.

Funktionsweise

Unter der Haube handelt es sich bei den langlebigen Funktionen um reguläre Lambda-Funktionen, die einen checkpoint/replay Mechanismus verwenden, um den Fortschritt zu verfolgen und lang andauernde Betriebsabläufe durch benutzerdefinierte Aufhängepunkte zu unterstützen, was allgemein als langlebige Ausführung bezeichnet wird. Wenn Ihre Funktion nach einer Pause oder Unterbrechung wieder aufgenommen wird, führt das System eine Wiederholung durch. Während der Wiedergabe wird Ihr Code von Anfang an ausgeführt, überspringt jedoch abgeschlossene Checkpoints und verwendet gespeicherte Ergebnisse, anstatt abgeschlossene Operationen erneut auszuführen. Dieser Wiedergabemechanismus gewährleistet Konsistenz und ermöglicht gleichzeitig lang andauernde Ausführungen.

Um diesen Checkpoint- und Replay-Mechanismus in Ihren Anwendungen zu nutzen, bietet Lambda ein robustes Ausführungs-SDK. Das SDK abstrahiert die Komplexität der Verwaltung von Checkpoints und Replay und macht einfache Primitive verfügbar, die als dauerhafte Operationen bezeichnet werden und die Sie in Ihrem Code verwenden. Das SDK ist für JavaScript Python und Java verfügbar und lässt sich nahtlos in Ihren bestehenden Lambda-Entwicklungsworkflow integrieren. TypeScript

Mit dem SDK verpacken Sie Ihren Lambda-Event-Handler, der dann DurableContext neben Ihrem Event einen bereitstellt. Dieser Kontext bietet Ihnen Zugriff auf dauerhafte Operationen wie Schritte und Wartezeiten. Sie schreiben Ihre Funktionslogik als normalen sequentiellen Code, aber anstatt Dienste direkt aufzurufen, fassen Sie diese Aufrufe in Schritte ein, um automatische Checkpoints und Wiederholungen zu ermöglichen. Wenn Sie die Ausführung unterbrechen müssen, fügen Sie Wartezeiten hinzu, die Ihre Funktion aussetzen, ohne dass Gebühren anfallen. Das SDK bewältigt die gesamte Komplexität der Statusverwaltung und der Wiedergabe hinter den Kulissen, sodass Ihr Code sauber und lesbar bleibt.

Diagram showing how Lambda durable functions use checkpoints to persist progress and replay to resume after interruptions.

Nächste Schritte