Skip to content

Durable functions doc updates and first changefile for preview#2392

Merged
GarrettBeatty merged 4 commits into
feature/durablefunctionfrom
gcbeatty/durrelease
Jun 2, 2026
Merged

Durable functions doc updates and first changefile for preview#2392
GarrettBeatty merged 4 commits into
feature/durablefunctionfrom
gcbeatty/durrelease

Conversation

@GarrettBeatty

@GarrettBeatty GarrettBeatty commented May 27, 2026

Copy link
Copy Markdown
Contributor

Comment thread Libraries/src/Amazon.Lambda.DurableExecution/README.md Outdated
@GarrettBeatty
GarrettBeatty force-pushed the gcbeatty/durrelease branch from 3de245a to 8dbdaa5 Compare May 28, 2026 15:19
@GarrettBeatty
GarrettBeatty marked this pull request as ready for review May 28, 2026 15:35
@GarrettBeatty
GarrettBeatty requested review from a team as code owners May 28, 2026 15:35
@GarrettBeatty
GarrettBeatty requested review from normj and philasmar and removed request for a team May 28, 2026 15:35
@GarrettBeatty GarrettBeatty changed the title release Durable functions doc updates and first changefile for preview May 28, 2026
Base automatically changed from gcbeatty/durable-callbacks to feature/durablefunction May 28, 2026 15:45
Update Durable Execution SDK description in README

Clarified description of the Durable Execution SDK and added a link to its README.

update

readme update

docs

changefile
@GarrettBeatty
GarrettBeatty force-pushed the gcbeatty/durrelease branch from b946cba to dfa8d1e Compare May 28, 2026 15:47

### Your first durable function (managed runtime)

A complete order-processing workflow with two steps and a wait, deployed as a class library on a managed .NET runtime such as `dotnet8`. Register the serializer once with the `LambdaSerializer` assembly attribute and configure your handler as `MyAssembly::OrderProcessor.OrderProcessor::Handler`. `DurableFunction.WrapAsync` resolves the serializer from `ILambdaContext.Serializer`, which the managed runtime populates from the assembly attribute.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use dotnet10 since it is the more current runtime

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@@ -0,0 +1,129 @@
# AWS Lambda Durable Execution SDK for .NET

> **Preview.** `Amazon.Lambda.DurableExecution` is in active development (0.x). Public APIs may change before 1.0.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since we don't have the deployment of new Amazon.Lambda.RuntimeSupport with support for accessing the serializer you should call out only executable programming model is supported for now.

I would suggest making all of the examples be executable mode as well and later we can revise the README once the managed runtime is updated.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


### Executable assembly variant (custom runtime)

If you target a custom runtime (`provided.al2023`) and deploy your function as an executable assembly, host it with `LambdaBootstrap` and pass the serializer in code instead of via an assembly attribute:

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

People use executable mode directly on the dotnet10 runtime. I would avoid talking about provided.al2023 and just discuss how the executable programming model works at a high level. The README for DurableExecution should be where you explain about custom runtimes or in depth executable programming model

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

dotnet add package Amazon.Lambda.DurableExecution
```

### Your first durable function (managed runtime)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you think it is worth expanding to give a high level about what you need to do to make callbacks work?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

or do you mean how to invoke the callback from somewhere else

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

updated in e5fe657

@GarrettBeatty
GarrettBeatty requested a review from normj May 29, 2026 14:29

@normj normj left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approve with one minor nit


### Your first durable function

> **Programming model:** the preview only supports the **executable programming model** — your function is an executable assembly that hosts its own bootstrap loop and passes the serializer to the runtime in code. Class-library handlers on the managed runtime will be supported once `Amazon.Lambda.RuntimeSupport` ships the changes that let `DurableFunction.WrapAsync` resolve the serializer from `ILambdaContext.Serializer`. This README will be updated then.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since you can argue we will have already shipped the changes for Amazon.Lambda.RuntimeSupport to NuGet for executable programming model I suggest changing this to:

Class-library handlers on the managed runtime will be supported once Amazon.Lambda.RuntimeSupport ships the changes that let DurableFunction.WrapAsync resolve the serializer from ILambdaContext.Serializer
to
Class-library handlers on the managed runtime will be supported once the changes made to Amazon.Lambda.RuntimeSupport to support durable functions has been deployed to the managed runtime.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed

Updated README to clarify programming model support and changes.
@GarrettBeatty
GarrettBeatty merged commit 110135d into feature/durablefunction Jun 2, 2026
3 checks passed
@GarrettBeatty
GarrettBeatty deleted the gcbeatty/durrelease branch June 2, 2026 16:41
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.

3 participants