

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.

# SDK für langlebige Ausführung
<a name="durable-execution-sdk"></a>

Das SDK für langlebige Ausführung ist die Grundlage für die Entwicklung langlebiger Funktionen. Es bietet Primitive, um den Fortschritt zu überprüfen, Wiederholungsversuche zu verarbeiten und den Ausführungsablauf zu verwalten. Das SDK abstrahiert die Komplexität der Verwaltung und Wiedergabe von Checkpoints und ermöglicht es Ihnen, sequentiellen Code zu schreiben, der automatisch fehlertolerant wird.

Das SDK ist für JavaScript, TypeScript, Python und Java verfügbar. Eine vollständige API-Dokumentation, Schnellstart-Tutorials und sprachspezifische Anleitungen finden Sie im [AWS Durable Execution SDK](https://docs.aws.amazon.com/durable-execution/) Developer Guide.

## Was macht das SDK
<a name="durable-sdk-what-it-does"></a>

**Checkpoint-Management:** Das SDK erstellt automatisch Checkpoints, wenn Ihre Funktion dauerhafte Operationen ausführt. Jeder Checkpoint zeichnet den Operationstyp, die Eingaben und die Ergebnisse auf. Wenn Ihre Funktion einen Schritt abgeschlossen hat, behält das SDK den Checkpoint bei, bevor der Vorgang fortgesetzt wird. Dadurch wird sichergestellt, dass Ihre Funktion nach jeder abgeschlossenen Operation wieder aufgenommen werden kann, falls sie unterbrochen wird.

**Koordination der Wiedergabe:** Wenn Ihre Funktion nach einer Pause oder Unterbrechung wieder aufgenommen wird, führt das SDK eine Wiederholung durch. Es führt Ihren Code von Anfang an aus, überspringt jedoch abgeschlossene Operationen und verwendet gespeicherte Checkpoint-Ergebnisse, anstatt sie erneut auszuführen. Das SDK stellt sicher, dass die Wiedergabe deterministisch ist. Bei denselben Eingaben und demselben Checkpoint-Log erzeugt Ihre Funktion dieselben Ergebnisse.

**Zustandsisolierung:** Das SDK behält den Ausführungsstatus getrennt von Ihrer Geschäftslogik bei. Jede dauerhafte Ausführung hat ihr eigenes Checkpoint-Protokoll, auf das andere Ausführungen nicht zugreifen können. Das SDK verschlüsselt Checkpoint-Daten im Ruhezustand und stellt sicher, dass der Status bei allen Wiederholungen konsistent bleibt.

Eine ausführliche Erläuterung der Funktionsweise von Checkpointing und des Wiedergabeverhaltens finden Sie unter [Wichtige Konzepte](https://docs.aws.amazon.com/durable-execution/getting-started/key-concepts/) im AWS Durable Execution SDK Developer Guide.

## Dauerhafte Vorgänge
<a name="durable-sdk-operations"></a>

Das SDK stellt Ihrer Funktion ein `DurableContext` Objekt zur Verfügung. Dieser Kontext ersetzt den Standard-Lambda-Kontext und bietet Methoden zur Erstellung von Checkpoints, zur Verwaltung des Ausführungsflusses und zur Koordination mit externen Systemen.

Der `DurableContext` bietet die folgenden Operationen für den Aufbau dauerhafter Workflows:


| Operation | Description | 
| --- | --- | 
| [Schritt](https://docs.aws.amazon.com/durable-execution/sdk-reference/operations/step/) | Führen Sie eine Arbeitseinheit aus und überprüfen Sie sie mit konfigurierbaren Wiederholungsstrategien und Ausführungssemantik. | 
| [Wait](https://docs.aws.amazon.com/durable-execution/sdk-reference/operations/wait/) | Unterbrechen Sie die Ausführung für eine bestimmte Dauer, ohne Rechenressourcen zu verbrauchen. | 
| [Warten Sie auf die Bedingung](https://docs.aws.amazon.com/durable-execution/sdk-reference/operations/wait-for-condition/) | Abfrage nach einer Bedingung mit automatischem Checkpoint zwischen den Versuchen. | 
| [Rückruf](https://docs.aws.amazon.com/durable-execution/sdk-reference/operations/callback/) | Unterbrechen Sie die Ausführung und warten Sie, bis ein externes System Eingaben über die Lambda-API bereitstellt. | 
| [Invoke](https://docs.aws.amazon.com/durable-execution/sdk-reference/operations/invoke/) | Rufen Sie eine andere Lambda-Funktion auf und warten Sie auf ihr Ergebnis mit automatischem Checkpointing. | 
| [Parallel](https://docs.aws.amazon.com/durable-execution/sdk-reference/operations/parallel/) | Führen Sie mehrere Operationen gleichzeitig mit konfigurierbaren Abschlussrichtlinien aus. | 
| [Zuordnung](https://docs.aws.amazon.com/durable-execution/sdk-reference/operations/map/) | Verarbeiten Sie jedes Element in einer Sammlung gleichzeitig mit optionaler Parallelitätssteuerung. | 
| [Kontext für Kinder](https://docs.aws.amazon.com/durable-execution/sdk-reference/operations/child-context/) | Erstellen Sie einen isolierten Ausführungskontext für die Gruppierung mehrerer Operationen. | 

Jeder dauerhafte Vorgang erstellt automatisch Checkpoints und stellt so sicher, dass Ihre Funktion von jedem Punkt aus wieder aufgenommen werden kann. Eine ausführliche API-Referenz, Codebeispiele und die sprachspezifische Verwendung finden Sie unter [SDK-Referenz im AWS Durable Execution SDK](https://docs.aws.amazon.com/durable-execution/sdk-reference/) Developer Guide.

## Wie werden langlebige Operationen gemessen
<a name="durable-operations-checkpoint-consumption"></a>

Jeder dauerhafte Vorgang, über den Sie aufrufen, `DurableContext` erstellt Kontrollpunkte, um den Ausführungsfortschritt zu verfolgen und Statusdaten zu speichern. Für diese Operationen fallen je nach Nutzung Gebühren an, und die Checkpoints können Daten enthalten, die zu Ihren Schreib- und Aufbewahrungskosten beitragen. Zu den gespeicherten Daten gehören Aufrufereignisse, Payloads, die von Schritten zurückgegeben wurden, und Daten, die beim Ausführen von Rückrufen weitergegeben werden. Wenn Sie wissen, wie langlebige Operationen gemessen werden, können Sie die Ausführungskosten abschätzen und Ihre Arbeitsabläufe optimieren. Einzelheiten zur Preisgestaltung finden Sie auf der [Lambda-Preisseite.](https://aws.amazon.com/lambda/pricing/)

Die Größe der Nutzlast bezieht sich auf die Größe der serialisierten Daten, die bei einem dauerhaften Betrieb fortgeführt werden. Die Daten werden in Byte gemessen und die Größe kann je nach dem für den Vorgang verwendeten Serializer variieren. Die Nutzlast eines Vorgangs kann das Ergebnis selbst sein, wenn der Vorgang erfolgreich abgeschlossen wurde, oder das serialisierte Fehlerobjekt, falls der Vorgang fehlschlägt.

### Grundlegende Vorgänge
<a name="durable-operations-basic"></a>

Grundoperationen sind die grundlegenden Bausteine für dauerhafte Funktionen:


| Operation | Zeitpunkt der Checkpoints | Anzahl der Operationen | Die Daten wurden beibehalten | 
| --- | --- | --- | --- | 
| Ausführung | Gestartet | 1 | Größe der eingegebenen Nutzlast | 
| Ausführung | Abgeschlossen () Succeeded/Failed/Stopped | 0 | Größe der Ausgangsnutzlast | 
| Schritt | Retry/Succeeded/Failed | 1 \+1 N Wiederholungen | Bei jedem Versuch wurde die Nutzlastgröße zurückgegeben | 
| Wait | Gestartet | 1 | N/A | 
| WaitForCondition | Jeder Abfrageversuch | 1 \+ N Umfragen | Bei jedem Abfrageversuch wurde die Nutzlastgröße zurückgegeben | 
| Invocation-level Versuchen Sie es erneut | Gestartet | 1 | Payload für das Fehlerobjekt | 

### Callback-Operationen
<a name="durable-operations-callbacks"></a>

Callback-Operationen ermöglichen es Ihrer Funktion, eine Pause einzulegen und darauf zu warten, dass externe Systeme Eingaben bereitstellen. Diese Operationen erstellen Checkpoints, wenn der Callback erstellt und abgeschlossen ist:


| Operation | Zeitpunkt der Checkpoints | Anzahl der Operationen | Die Daten wurden beibehalten | 
| --- | --- | --- | --- | 
| CreateCallback | Gestartet | 1 | N/A | 
| Abschluss des Rückrufs per API-Aufruf | Completed | 0 | Payload des Rückrufs | 
| WaitForCallback | Gestartet | 3 \+ N Wiederholungen (Kontext \+ Rückruf \+ Schritt) | Payloads, die durch Versuche des Absenders zurückgesendet wurden, plus zwei Kopien der Payload für den Rückruf | 

### Zusammengesetzte Operationen
<a name="durable-operations-compound"></a>

Zusammengesetzte Operationen kombinieren mehrere dauerhafte Operationen, um komplexe Koordinationsmuster wie parallel Ausführung, Array-Verarbeitung und verschachtelte Kontexte zu handhaben:


| Operation | Zeitplan für Checkpoints | Anzahl der Operationen | Die Daten wurden beibehalten | 
| --- | --- | --- | --- | 
| Parallel | Gestartet | 1 \+ N Zweige (1 übergeordneter Kontext \+ N untergeordnete Kontexte) | Bis zu zwei Kopien der zurückgegebenen Nutzdatengröße aus jedem Zweig plus den Status jedes Zweigs | 
| Zuordnung | Gestartet | 1 \+ N Zweige (1 übergeordneter Kontext \+ N untergeordnete Kontexte) | Bis zu zwei Kopien der zurückgegebenen Payload-Größe aus jeder Iteration plus der Status jeder Iteration | 
| Versprich Helfer | Completed | 1 | Die Nutzlastgröße wurde aus dem Versprechen zurückgegeben | 
| RunInChildContext | Succeeded/Failed | 1 | Die Nutzdatengröße wurde aus dem untergeordneten Kontext zurückgegeben | 

Bei Kontexten, die z. B. aus zusammengesetzten Operationen stammen `runInChildContext` oder intern von zusammengesetzten Operationen verwendet werden, werden Ergebnisse, die kleiner als 256 KB sind, direkt überprüft. Größere Ergebnisse werden nicht gespeichert, sondern während der Wiedergabe rekonstruiert, indem die Operationen des Kontextes erneut verarbeitet werden.