From 35887034cf57dff66cc35a1dbbf6141ef34d5b9e Mon Sep 17 00:00:00 2001 From: archiev4 Date: Thu, 19 Feb 2026 16:50:43 +0530 Subject: [PATCH] Lambda function chaining-durable functions --- .../README.md | 105 ++++++ .../architecture/architecture.png | Bin 0 -> 59034 bytes .../example-pattern.json | 58 ++++ .../main.tf | 303 ++++++++++++++++++ .../orchestrator.zip | Bin 0 -> 842 bytes .../step1_add.zip | Bin 0 -> 357 bytes .../step2_transform.zip | Bin 0 -> 384 bytes .../step3_finalize.zip | Bin 0 -> 372 bytes 8 files changed, 466 insertions(+) create mode 100644 lambda-durable-function-chaining-terraform/README.md create mode 100644 lambda-durable-function-chaining-terraform/architecture/architecture.png create mode 100644 lambda-durable-function-chaining-terraform/example-pattern.json create mode 100644 lambda-durable-function-chaining-terraform/main.tf create mode 100644 lambda-durable-function-chaining-terraform/orchestrator.zip create mode 100644 lambda-durable-function-chaining-terraform/step1_add.zip create mode 100644 lambda-durable-function-chaining-terraform/step2_transform.zip create mode 100644 lambda-durable-function-chaining-terraform/step3_finalize.zip diff --git a/lambda-durable-function-chaining-terraform/README.md b/lambda-durable-function-chaining-terraform/README.md new file mode 100644 index 0000000000..afbafe1e96 --- /dev/null +++ b/lambda-durable-function-chaining-terraform/README.md @@ -0,0 +1,105 @@ +# Function chaining with AWS Lambda durable functions in Terraform + +This Terraform pattern demonstrates function chaining using AWS Lambda durable functions. A durable orchestrator invokes three Lambda functions in sequence (add, transform and finalize). The output of each step is passed as the input to the next. The framework automatically checkpoints after every step, so if the orchestrator fails mid-workflow, it replays from the beginning and skips already-completed work. This ensures exactly-once execution without re-processing. + +Learn more about this pattern at Serverless Land Patterns: https://serverlessland.com/patterns/lambda-durable-function-chaining-terraform + +Important: this application uses various AWS services and there are costs associated with these services after the Free Tier usage - please see the [AWS Pricing page](https://aws.amazon.com/pricing/) for details. You are responsible for any AWS costs incurred. No warranty is implied in this example. + +## Requirements + +* [Create an AWS account](https://portal.aws.amazon.com/gp/aws/developer/registration/index.html) if you do not already have one and log in. The IAM user that you use must have sufficient permissions to make necessary AWS service calls and manage AWS resources. +* [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html) installed and configured +* [Git Installed](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) +* [Terraform](https://learn.hashicorp.cxom/tutorials/terraform/install-cli?in=terraform/aws-get-started) installed + +## Deployment Instructions + +1. Create a new directory, navigate to that directory in a terminal and clone the GitHub repository: + ``` + git clone https://github.com/aws-samples/serverless-patterns + ``` +1. Change directory to the pattern directory: + ``` + cd lambda-durable-function-chaining-terraform + ``` +1. From the command line, initialize terraform to downloads and installs the providers defined in the configuration: + ``` + terraform init + ``` +1. From the command line, apply the configuration in the main.tf file: + ``` + terraform apply -auto-approve + ``` +1. During the prompts: + #var.aws_region + - Enter a value: {enter the region for deployment} + + #var.prefix + - Enter a value: {enter any prefix to associate with resources} + +1. Note the outputs from the Terraform deployment process. These contain the resource names and/or ARNs which are used for testing. + +## How it works + +![architecture](architecture/architecture.png) + +This pattern uses a durable orchestrator to chain three Lambda functions in sequence. Each function receives the output of the previous step as its input, forming a pipeline: **Add → Transform → Finalize**. + +At each `context.invoke()` call, the durable framework creates a checkpoint. If the orchestrator fails at any point, it automatically replays from the beginning but skips already-completed steps using stored results, ensuring no work is repeated. Workflows resume from the last successful checkpoint, recovering automatically without manual intervention. + +Consider the following input, + +``` +Input: {"id": "test-1", "name": "demo", "value": 10} + +Step 1 (Add): value = 10 + 10 = 20 +Step 2 (Transform): value = 20 × 2 = 40, name = "DEMO" +Step 3 (Finalize): value = 40 + 5 = 45, status = "COMPLETED" + +Output: {"id": "test-123", "name": "demo", "step1_completed": true, "step1_value": 20, "step2_completed": true, "step2_value": 40, "transformed_name": "DEMO", "step3_completed": true, "status": "COMPLETED", "final_value": 45} +``` + +## Testing + +1. You can invoke the Lambda function by using the following CLI command: + ``` + aws lambda invoke --function-name "ORCHESTRATOR_ALIAS_ARN" --payload '{"id": "test-123", "name": "demo", "value": 10}' --cli-binary-format raw-in-base64-out response.json + ``` + Note: Replace the `ORCHESTRATOR_ALIAS_ARN` with the generated `orchestrator_alias-arn` from Terraform (refer to the Terraform Outputs section) + +1. Display the contents of response.json + ``` + cat response.json + ``` + + Expected output + ``` + {"id": "test-123", "name": "demo", "step1_completed": true, "step1_value": 20, "step2_completed": true, "step2_value": 40, "transformed_name": "DEMO", "step3_completed": true, "status": "COMPLETED", "final_value": 45} + ``` + +## Cleanup + +1. Change directory to the pattern directory: + ``` + cd serverless-patterns/lambda-durable-function-chaining-terraform + ``` + +1. Delete all created resources + ``` + terraform destroy -auto-approve + ``` + +1. During the prompts: + ``` + Enter all details as entered during creation. + ``` + +1. Confirm all created resources has been deleted + ``` + terraform show + ``` +---- +Copyright 2026 Amazon.com, Inc. or its affiliates. All Rights Reserved. + +SPDX-License-Identifier: MIT-0 \ No newline at end of file diff --git a/lambda-durable-function-chaining-terraform/architecture/architecture.png b/lambda-durable-function-chaining-terraform/architecture/architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..42667c1af2a91be39838479571b0ccf887893b97 GIT binary patch literal 59034 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%0A9qCKTKV!ss^{#!{M&LkE=Wz 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

%} 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


4QNKf)r_l8`O9c91 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 J9hhSn7y#`=dCUL+ literal 0 HcmV?d00001 diff --git a/lambda-durable-function-chaining-terraform/step1_add.zip b/lambda-durable-function-chaining-terraform/step1_add.zip new file mode 100644 index 0000000000000000000000000000000000000000..20b6bf3dac1e5e28bd3bd1d06bf159ca84e51f1e GIT binary patch literal 357 zcmWIWW@Zs#U|`^2D9#R!S?tuX?lq9NkCB0a2S^u}q!t*)C#Iz66;!59*qC?NfXC%~ z9qYoQW?3vJvlN`$-!a~@4e+%R(+Y0#S<2Y-r#e-&^zF3CB{ep$TCOx+J!fo>f}CGRyif}L%(8MyP`;B~8Sfs2rbK18Xa`*>D`zox0rpG5SwA&qA9-#m&*Qx^ zPXCIVVV~lJylN+j$bUYjxpk21f4)&_$3L0;;;_!f^heSG-i%Cg%(#OE7%~jN5Mo%;2x1`zQh+xr Q8%T^12(5s$C`cIt02sZ1eEqlnl4-^Y%W+&w<$Nwx33z(oGVbIy5f zYgRE`boyi05z&%1iToH7{Ri$G9}i|cym4UpWRvg5d>`;OJSj0};OFq#v}Uh?#G1=T zc2?|8+`hq#g)h~7LDS9SKc;-2dcCA^1E0&rV%7})j?4WYA33~|J5k`%asJP?FSo1z z-n%I^Yhz=zfZevx*A`EX2J&=F^yF3FVV{~Rng5ApQ^2CPXHwi#LT*+~W&O{wt|;ch z5aM? zbw7mmyxSqh72D^2#iaRI#vx(Rr!0q(duoNEBBpGZHcPwGZ2_NS!J`klE1Tz8{H&8Z zps~R(>r`avp<|Oxq+~uVa~8DN!X4(Lq#AvpO`%VQ?QhoY!lZz2*IvkZ?{N7bb%nFk zfQ-QOxn1aq5O*x&I8?Z5Ga3Yj