Skip to content

Conversation

@c10h22
Copy link

@c10h22 c10h22 commented Jan 22, 2026

On December 2nd, 2025, AWS introduced Durable Lambda Executions, enabling long-running, fault-tolerant workflows without custom chaining, self-invocation, or continuation persistence (announcement).

This PR adds support for Lambda Durable Functions :

Features:

  • durableConfig property with executionTimeout (1-31536000 seconds) and retentionPeriodInDays (1-90 days)
  • Auto-enables versioning when durableConfig is present (required for qualified ARNs)
  • Automatic IAM managed policy attachment (AWSLambdaBasicDurableExecutionRolePolicy)
  • --durable-execution-name option for idempotent invocations
  • Supported Runtimes: Node.js 22+, Python 3.13+

Usage:

functions:
  orderProcessor:
    handler: handler.processOrder
    runtime: nodejs22.x
    durableConfig:
      executionTimeout: 86400        # 24 hours
      retentionPeriodInDays: 14

c10h22 and others added 5 commits January 22, 2026 19:23
Add Lambda Durable Functions support with:
- durableConfig property in serverless.yml (executionTimeout, retentionPeriodInDays)
- Auto-enable versioning when durableConfig is present (required for qualified ARNs)
- CloudFormation DurableConfig property generation
- Deploy function support for durable configuration

Durable functions enable long-running workflows that can span multiple
Lambda invocations with automatic state management and checkpointing.
Automatically attach AWSLambdaBasicDurableExecutionRolePolicy managed
policy to Lambda execution roles when durableConfig is present.

This grants the necessary permissions for durable function operations
including checkpoint management and execution state access.
Add --durable-execution-name option to serverless invoke command:
- Enables idempotent invocations with unique execution names
- Supports both synchronous and asynchronous durable invocations
- Execution names must be 1-64 chars (alphanumeric, hyphens, underscores)
- Repeated invocations with same name return cached results

Usage: serverless invoke -f myFunc --durable-execution-name order-12345
Document durable functions feature including:
- Configuration properties (executionTimeout, retentionPeriodInDays)
- Supported runtimes (Node.js 22+, Python 3.13+)
- IAM permissions and managed policy
- Invoke command --durable-execution-name option
- Usage examples and limitations
@mnapoli
Copy link
Contributor

mnapoli commented Jan 22, 2026

This looks very clean, I added a minor comment but honestly the rest looks good to me 👍

Move durable execution example to a more appropriate location in the
invoke.md documentation and update example to include contextPath parameter.
@c10h22
Copy link
Author

c10h22 commented Jan 22, 2026

@mnapoli moved that section below local invocation examples and used similar arguments for clarity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants