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.
Stellen Sie langlebige Lambda-Funktionen bereit und rufen Sie sie auf mit dem AWS CLI
Verwenden Sie die AWS CLI , um dauerhafte Lambda-Funktionen mit imperativen Befehlen zu erstellen und bereitzustellen. Mit diesem Ansatz haben Sie die direkte Kontrolle über jeden Schritt des Bereitstellungsprozesses.
Voraussetzungen
Installieren und Konfigurieren der AWS CLI. Anweisungen finden Sie unter Installation von AWS CLI.
Erstellen Sie ein Bereitstellungspaket mit Ihrem Funktionscode und dem Durable Execution SDK.
Erstellen Sie eine IAM-Ausführungsrolle mit Checkpoint-Berechtigungen.
Erstellen der Ausführungsrolle
Erstellen Sie eine IAM-Rolle mit Berechtigungen für grundlegende Lambda-Ausführungs- und Checkpoint-Operationen.
So erstellen Sie eine Ausführungsrolle
-
Erstellen Sie ein Dokument mit Vertrauensrichtlinien, das es Lambda ermöglicht, die Rolle zu übernehmen. Speichern Sie das unter:
trust-policy.json{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "lambda.amazonaws.com" }, "Action": "sts:AssumeRole" } ] } -
Erstellen Sie die Rolle:
aws iam create-role \ --role-name durable-function-role \ --assume-role-policy-document file://trust-policy.json -
Hängen Sie die grundlegende Ausführungsrichtlinie an:
aws iam attach-role-policy \ --role-name durable-function-role \ --policy-arn arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole -
Erstellen Sie eine Richtlinie für Checkpoint-Operationen. Speichern Sie das unter:
checkpoint-policy.json{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lambda:CheckpointDurableExecutions", "lambda:GetDurableExecutionState" ], "Resource": "arn:aws:lambda:REGION:ACCOUNT_ID:function:myDurableFunction" } ] } -
Erstellen Sie die Checkpoint-Richtlinie und hängen Sie sie an:
aws iam create-policy \ --policy-name durable-checkpoint-policy \ --policy-document file://checkpoint-policy.json aws iam attach-role-policy \ --role-name durable-function-role \ --policy-arn arn:aws:iam::ACCOUNT_ID:policy/durable-checkpoint-policy
Erstellen Sie die dauerhafte Funktion
Erstellen Sie Ihre dauerhafte Funktion mit dem --durable-config Parameter.
Um eine dauerhafte Funktion zu erstellen
-
Packen Sie Ihren Funktionscode mit Abhängigkeiten in eine ZIP-Datei:
zip -r function.zip index.mjs node_modules/ -
Erstellen Sie die Funktion mit aktivierter dauerhafter Ausführung:
aws lambda create-function \ --function-name myDurableFunction \ --runtime nodejs22.x \ --role arn:aws:iam::ACCOUNT_ID:role/durable-function-role \ --handler index.handler \ --zip-file fileb://function.zip \ --durable-config '{"ExecutionTimeout": 10, "RetentionPeriodInDays":1}'
Anmerkung
Sie können die dauerhafte Ausführung nur aktivieren, wenn Sie die Funktion erstellen. Sie können es nicht für bestehende Funktionen aktivieren.
Veröffentlichen Sie eine Version
Dauerhafte Funktionen benötigen einen qualifizierten ARN (mit Version oder Alias) für den Aufruf. Veröffentlichen Sie eine Version Ihrer Funktion:
aws lambda publish-version \ --function-name myDurableFunction \ --description "Initial version"
Der Befehl gibt die Version ARN zurück. Notieren Sie sich die Versionsnummer (z. B.:1) am Ende des ARN.
Erstellen Sie optional einen Alias, der auf die Version verweist:
aws lambda create-alias \ --function-name myDurableFunction \ --name prod \ --function-version 1
Rufen Sie die dauerhafte Funktion auf
Rufen Sie Ihre dauerhafte Funktion mit dem qualifizierten ARN (Version oder Alias) auf.
Synchroner Aufruf
Verwenden Sie für Ausführungen, die innerhalb von 15 Minuten abgeschlossen sind, den synchronen Aufruf:
aws lambda invoke \ --function-name myDurableFunction:1 \ --payload '{"orderId": "order-12345"}' \ --cli-binary-format raw-in-base64-out \ response.json
Oder mit einem Alias:
aws lambda invoke \ --function-name myDurableFunction:prod \ --payload '{"orderId": "order-12345"}' \ --cli-binary-format raw-in-base64-out \ response.json
Asynchroner Aufruf
Verwenden Sie für lang andauernde Ausführungen den asynchronen Aufruf:
aws lambda invoke \ --function-name myDurableFunction:prod \ --invocation-type Event \ --payload '{"orderId": "order-12345"}' \ --cli-binary-format raw-in-base64-out \ response.json
Bei asynchronem Aufruf kehrt Lambda sofort zurück. Die Funktion wird weiterhin im Hintergrund ausgeführt.
Verwaltet dauerhafte Ausführungen
Verwenden Sie die folgenden Befehle, um die Ausführung dauerhafter Funktionen zu verwalten und zu überwachen.
Ausführungen auflisten
Listet alle Ausführungen für eine dauerhafte Funktion auf:
aws lambda list-durable-executions \ --function-name myDurableFunction:prod
Details zur Ausführung abrufen
Rufen Sie Details zu einer bestimmten Ausführung ab:
aws lambda get-durable-execution \ --function-name myDurableFunction:prod \ --execution-id exec-abc123
Ausführungshistorie abrufen
Den Checkpoint-Verlauf für eine Ausführung anzeigen:
aws lambda get-durable-execution-history \ --function-name myDurableFunction:prod \ --execution-id exec-abc123
Stoppen Sie eine Ausführung
Stoppen Sie eine laufende dauerhafte Ausführung:
aws lambda stop-durable-execution \ --function-name myDurableFunction:prod \ --execution-id exec-abc123
Funktionscode aktualisieren
Aktualisieren Sie Ihren dauerhaften Funktionscode und veröffentlichen Sie eine neue Version:
Um eine neue Version zu aktualisieren und zu veröffentlichen
-
Aktualisieren Sie den Funktionscode:
aws lambda update-function-code \ --function-name myDurableFunction \ --zip-file fileb://function.zip -
Warten Sie, bis das Update abgeschlossen ist:
aws lambda wait function-updated \ --function-name myDurableFunction -
Veröffentlichen Sie eine neue Version:
aws lambda publish-version \ --function-name myDurableFunction \ --description "Updated order processing logic" -
Aktualisieren Sie den Alias so, dass er auf die neue Version verweist:
aws lambda update-alias \ --function-name myDurableFunction \ --name prod \ --function-version 2
Wichtig
Laufende Ausführungen verwenden weiterhin die Version, mit der sie begonnen haben. Neue Aufrufe verwenden die aktualisierte Alias-Version.
Funktionsprotokolle anzeigen
Sehen Sie sich die Logs Ihrer dauerhaften Funktion unter Logs an CloudWatch :
aws logs tail /aws/lambda/myDurableFunction --follow
Filtern Sie die Protokolle nach einer bestimmten Ausführung:
aws logs filter-log-events \ --log-group-name /aws/lambda/myDurableFunction \ --filter-pattern "exec-abc123"
Bereinigen von Ressourcen
Löschen Sie Ihre dauerhafte Funktion und die zugehörigen Ressourcen:
# Delete the function aws lambda delete-function --function-name myDurableFunction # Delete the IAM role policies aws iam detach-role-policy \ --role-name durable-function-role \ --policy-arn arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole aws iam detach-role-policy \ --role-name durable-function-role \ --policy-arn arn:aws:iam::ACCOUNT_ID:policy/durable-checkpoint-policy aws iam delete-policy \ --policy-arn arn:aws:iam::ACCOUNT_ID:policy/durable-checkpoint-policy # Delete the role aws iam delete-role --role-name durable-function-role
Nächste Schritte
Nach der Bereitstellung Ihrer dauerhaften Funktion mit dem AWS CLI:
Überwachen Sie Ausführungen mit den Befehlen
list-durable-executionsundget-durable-executionCheckpoint-Operationen in AWS CloudTrail Datenereignissen anzeigen
Richten Sie CloudWatch Alarme für Ausführungsfehler oder lang andauernde Ausführungen ein
Automatisieren Sie Bereitstellungen mithilfe von Shell-Skripten oder Pipelines CI/CD
Weitere Informationen zu AWS CLI Befehlen für Lambda finden Sie in der AWS CLI Befehlsreferenz.