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.
Verwaltung von Lambda-Workflows und -Ereignissen
Wenn Sie serverlose Anwendungen mit Lambda erstellen, benötigen Sie häufig Möglichkeiten, die Funktionsausführung zu orchestrieren und Ereignisse zu behandeln. AWS bietet mehrere Ansätze zur Koordination von Lambda-Funktionen:
-
Langlebige Lambda-Funktionen für die Code-First-Workflow-Orchestrierung innerhalb von Lambda
-
AWS Step Functions für die visuelle Workflow-Orchestrierung über mehrere Dienste hinweg
-
Amazon EventBridge Scheduler und Amazon EventBridge für ereignisgesteuerte Architekturen und Planung
Sie können diese Ansätze auch zusammen integrieren. Beispielsweise können Sie den EventBridge Scheduler verwenden, um dauerhafte Funktionen oder Step Functions Functions-Workflows auszulösen, wenn bestimmte Ereignisse eintreten, oder Workflows so konfigurieren, dass Ereignisse an definierten Ausführungspunkten im EventBridge Scheduler veröffentlicht werden. Die folgenden Themen in diesem Abschnitt enthalten weitere Informationen dazu, wie Sie diese Orchestrierungsoptionen verwenden können.
Orchestrierung, bei der der Code an erster Stelle steht, mit dauerhaften Funktionen
Dauerhafte Lambda-Funktionen bieten einen Code-First-Ansatz für die Workflow-Orchestrierung, sodass Sie statusbehaftete Workflows mit langer Laufzeit direkt in Ihren Lambda-Funktionen erstellen können. Im Gegensatz zu externen Orchestrierungsdiensten behalten langlebige Funktionen Ihre Workflow-Logik im Code, was es einfacher macht, sie zusammen mit Ihrer Geschäftslogik zu versionieren, zu testen und zu warten.
Dauerhafte Funktionen sind ideal, wenn Sie Folgendes benötigen:
-
Workflow-Definition, bei der der Code an erster Stelle steht: Definieren Sie Workflows mit vertrauten Programmiersprachen und nicht mit JSON oder visuellen Designern
-
Prozesse mit langer Laufzeit: Führen Sie Workflows aus, die bis zu einem Jahr lang ausgeführt werden können und damit weit über die 15-Minuten-Grenze der Standard-Lambda-Funktionen hinausgehen
-
Vereinfachte Entwicklung: Behalten Sie die Workflow-Logik und die Geschäftslogik in derselben Codebasis, um die Wartung und das Testen zu vereinfachen
-
Kostengünstiges Warten: Unterbrechen Sie die Ausführung während Wartezuständen, ohne Rechenressourcen zu verbrauchen
-
Integrierte Statusverwaltung: Automatisches Checkpointing und State-Persistenz ohne externe Speicherkonfiguration
Wählen Sie zwischen dauerhaften Funktionen und Step Functions
Sowohl langlebige Funktionen als auch Step Functions bieten Funktionen zur Workflow-Orchestrierung, dienen jedoch unterschiedlichen Anwendungsfällen:
| Überlegungen | Langlebige Funktionen | Step Functions |
|---|---|---|
| Definition des Arbeitsablaufs | Code zuerst (JavaScript, Python, Java) | JSON-basierter Sprach- oder Grafikdesigner von Amazon States |
| Entwicklungsansatz | Eine einzige Codebasis mit Geschäftslogik | Separate Workflow-Definition und Funktionscode |
| Service-Integration | Durch Lambda-Funktionscode und AWS SDKs | Native Integrationen mit vielen Diensten AWS |
| Dauer der Ausführung | Bis zu 1 Jahr | Bis zu 1 Jahr (Standard), 5 Minuten (Express) |
| Parallele Verarbeitung | Promise.all () und codebasierte Muster | Paralleler Zustand und verteilte Karte |
| Fehlerbehandlung | Try-Catch-Blöcke und benutzerdefinierte Wiederholungslogik | Integrierte Wiederholungs- und Fangstatus |
| Visuelle Überwachung | CloudWatch Logs und benutzerdefinierte Dashboards | Visuelles Ausführungsdiagramm und detaillierter Verlauf |
| Am besten geeignet für | Entwicklerorientierte Workflows, komplexe Geschäftslogik, schnelles Prototyping | Orchestrierung mehrerer Dienste, visuelle Workflows, Unternehmensführung |
Verwenden Sie langlebige Funktionen, wenn:
-
Ihr Team bevorzugt Entwicklungsansätze, bei denen der Code an erster Stelle steht
-
Die Workflow-Logik ist eng mit der Geschäftslogik verknüpft
-
Sie benötigen schnelles Prototyping und Iteration
-
Ihre Workflows beinhalten hauptsächlich Lambda-Funktionen und einfache Serviceanrufe.
Verwenden Sie Step Functions, wenn:
-
Sie benötigen ein visuelles Workflow-Design und eine visuelle Überwachung
-
Ihre Workflows orchestrieren mehrere AWS Dienste umfassend
-
Sie benötigen Funktionen für Unternehmensführung und Compliance
-
Nicht technisch versierte Akteure müssen die Workflow-Logik verstehen
Weitere Informationen zu dauerhaften Funktionen finden Sie unter Dauerhafte Funktionen für Lambda.
Orchestrierung von Workflows mit Step Functions
AWS Step Functions ist ein Workflow-Orchestrierungsservice, mit dem Sie mehrere Lambda-Funktionen und andere AWS Dienste in strukturierten Workflows koordinieren können. Diese Workflows können den Status beibehalten, Fehler mit ausgeklügelten Wiederholungsmechanismen behandeln und Daten in großem Umfang verarbeiten.
Step Functions bietet zwei Arten von Workflows für unterschiedliche Orchestrierungsanforderungen:
- Standard-Workflows
-
Ideal für lang laufende, überprüfbare Workflows, die eine Semantik erfordern, die nur einmal ausgeführt wird. Standard-Workflows können bis zu einem Jahr lang ausgeführt werden, bieten einen detaillierten Ausführungsverlauf und unterstützen visuelles Debugging. Sie eignen sich für Prozesse wie Auftragsabwicklung, Datenverarbeitungspipelines oder mehrstufige Analytikaufgaben.
- Express-Workflows
-
Konzipiert für high-event-rate kurzzeitige Workloads mit Ausführungssemantik. at-least-once Express-Workflows können bis zu fünf Minuten lang ausgeführt werden und eignen sich ideal für die Verarbeitung großer Ereignismengen, Streamingdatentransformationen oder IoT-Datenerfassungsszenarien. Sie bieten einen höheren Durchsatz und potenziell geringere Kosten im Vergleich zu Standard-Workflows.
Anmerkung
Weitere Informationen zu den Workflow-Typen von Step Functions finden Sie unter Auswahl des Workflow-Typs in Step Functions.
Innerhalb dieser Workflows bietet Step Functions zwei Arten von Kartenstatus für die parallele Verarbeitung:
- Inline Map
-
Verarbeitet Elemente aus einem JSON-Array innerhalb des Ausführungsverlaufs des übergeordneten Workflows. Inline Map unterstützt bis zu 40 gleichzeitige Iterationen und eignet sich für kleinere Datensätze oder wenn Sie die gesamte Verarbeitung innerhalb einer einzigen Ausführung durchführen müssen. Weitere Informationen finden Sie unter Verwenden des Kartenstatus im Inline-Modus.
- Distributed Map
-
Ermöglicht die Verarbeitung großer paralleler Workloads durch Iteration über Datensätze, die 256 KiB überschreiten oder mehr als 40 gleichzeitige Iterationen erfordern. Mit Unterstützung für bis zu 10 000 parallele untergeordnete Workflow-Ausführungen eignet sich Distributed Map hervorragend für die Verarbeitung von semistrukturierten Daten, die in Amazon S3 gespeichert sind, wie z. B. JSON- oder CSV-Dateien, und ist somit ideal für die Stapelverarbeitung und ETL-Vorgänge. Weitere Informationen finden Sie unter Verwenden des Kartenstatus im Distributed-Modus.
Durch die Kombination dieser Workflow-Typen und Kartenstatus bietet Step Functions ein flexibles und leistungsstarkes Toolset für die Orchestrierung komplexer Serverless-Anwendungen, von kleinen Vorgängen bis hin zu großen Datenverarbeitungspipelines.
Informationen zu den ersten Schritten mit Lambda mit Step Functions finden Sie unter Orchestrieren von Lambda-Funktionen mit Step Functions.
Verwaltung von Ereignissen mit und Scheduler EventBridge EventBridge
Amazon EventBridge ist ein Event-Bus-Service, der Sie beim Aufbau ereignisgesteuerter Architekturen unterstützt. Es leitet Ereignisse zwischen AWS Diensten, integrierten Anwendungen und SaaS-Anwendungen (Software as a Service) weiter. EventBridge Scheduler ist ein serverloser Scheduler, mit dem Sie Aufgaben von einem zentralen Dienst aus erstellen, ausführen und verwalten können. So können Sie Lambda-Funktionen nach einem Zeitplan mithilfe von Cron- und Rate-Ausdrücken aufrufen oder einmalige Aufrufe konfigurieren.
Amazon EventBridge und EventBridge Scheduler helfen Ihnen beim Aufbau ereignisgesteuerter Architekturen mit Lambda. EventBridge leitet Ereignisse zwischen AWS Diensten, integrierten Anwendungen und SaaS-Anwendungen weiter, während EventBridge Scheduler spezielle Planungsfunktionen für den wiederkehrenden oder einmaligen Aufruf von Lambda-Funktionen bietet.
Diese Services bieten mehrere wichtige Funktionen für die Arbeit mit Lambda-Funktionen:
-
Erstellen Sie Regeln, die Ereignisse abgleichen und an Lambda-Funktionen weiterleiten, indem Sie EventBridge
-
Richten Sie mit Scheduler wiederkehrende Funktionsaufrufe mithilfe von Cron- und Rate-Ausdrücken ein EventBridge
-
Konfigurieren Sie einmalige Funktionsaufrufe zu bestimmten Daten und Uhrzeiten.
-
Definieren Sie flexible Zeitfenster und Wiederholungsrichtlinien für geplante Aufrufe.
Weitere Informationen finden Sie unter Aufrufen einer Lambda-Funktion nach einem Zeitplan.