Skip to content

AWS Lambda#721

Open
eamsden wants to merge 16 commits into
mainfrom
ea/aws-lambda
Open

AWS Lambda#721
eamsden wants to merge 16 commits into
mainfrom
ea/aws-lambda

Conversation

@eamsden

@eamsden eamsden commented May 29, 2026

Copy link
Copy Markdown
Contributor

What was changed

Add helpers for serverless workers running on AWS Lambda

Why?

SDKs require specific helpers to run effectively on AWS Lambda.

Checklist

  1. Closes

  2. How was this tested:
    Code in a separate PR in samples-dotnet ( Lambda Worker Sample samples-dotnet#152 ) was used to test deploying and running workflows and activities on a Lambda worker.

  3. Any docs updates needed?

fresh Temporal client and worker, runs until the Lambda deadline minus `ShutdownDeadlineBuffer`, then shuts down and runs
configured shutdown hooks.

## Configuration

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

how do I configure the shutdown timing?

@eamsden eamsden marked this pull request as ready for review June 16, 2026 22:52
@eamsden eamsden requested a review from a team as a code owner June 16, 2026 22:52

@jmaeagle99 jmaeagle99 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Wanted to provide some feedback; still reviewing.

Comment thread src/Temporalio.ApiDoc/api/index.md
Comment thread .github/workflows/nuget-package.yml
Comment thread src/Temporalio.ApiDoc/docfx.json
Comment thread README.md
Comment thread src/Temporalio/Temporalio.csproj
Comment thread src/Temporalio.Extensions.Aws.Lambda/LambdaWorkerConfig.cs Outdated
Comment thread src/Temporalio.Extensions.Aws.Lambda/TemporalLambdaWorker.cs Outdated
Comment thread src/Temporalio.Extensions.Aws.Lambda/TemporalLambdaWorker.cs Outdated
Comment thread src/Temporalio.Extensions.Aws.Lambda/TemporalLambdaWorker.cs Outdated
Comment thread src/Temporalio/Worker/TemporalWorkerOptions.cs Outdated
@jmaeagle99 jmaeagle99 self-assigned this Jun 22, 2026
@eamsden eamsden force-pushed the ea/aws-lambda branch 3 times, most recently from ac825bb to c916b4d Compare July 7, 2026 18:59

@jmaeagle99 jmaeagle99 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Some more feedback. I think once these are addressed, this PR will be in good shape to merge.

Comment thread src/Temporalio.Extensions.Aws.Lambda/TemporalLambdaWorker.cs
Comment thread tests/Temporalio.Tests/Common/EnvConfig/ClientConfigTests.cs Outdated
Comment thread tests/Temporalio.Tests/Common/EnvConfig/ClientConfigTests.cs Outdated
Comment thread src/Temporalio/Common/EnvConfig/ClientEnvConfig.cs Outdated
Comment thread src/Temporalio.Extensions.Aws.Lambda.OpenTelemetry/LambdaWorkerOpenTelemetry.cs Outdated
Comment thread src/Temporalio.Extensions.Aws.Lambda.OpenTelemetry/LambdaWorkerOpenTelemetry.cs Outdated
Comment thread src/Temporalio.Extensions.Aws.Lambda.OpenTelemetry/LambdaWorkerOpenTelemetry.cs Outdated

@jmaeagle99 jmaeagle99 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Just a few more, but approving.

Comment thread CHANGELOG.md

- Fixed `ClientEnvConfig` empty `OverrideEnvVars` handling so an explicit empty dictionary no
longer falls back to process environment variables.
### Breaking Changes

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Neither of these changes are accurate. All of this code is new so it cannot be breaking nor changed. There should be one entry in Added that describes the creation of these Lambda support packages.

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.

I missed that the AI had updated that. 😳

Comment thread Directory.Packages.props
<PackageVersion Include="Microsoft.SourceLink.GitHub" Version="8.0.0" />
<PackageVersion Include="Microsoft.VisualStudio.Threading.Analyzers" Version="18.7.23" />
<PackageVersion Include="NexusRpc" Version="0.3.0" />
<PackageVersion Include="OpenTelemetry" Version="1.15.3" />

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Can you add the new OpenTelemetry.* packages to the ignore group in https://github.com/temporalio/sdk-dotnet/blob/main/.github/dependabot.yml#L68 so that way we don't get constantly pestered to update but still get security updates.

/// Gets or sets the client configuration loader.
/// </summary>
public Func<ClientEnvConfig.ProfileLoadOptions?, TemporalClientConnectOptions>? LoadClientConnectOptions
{ get; set; }

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Sorry, I could have been more clear. It's the { get; set; } being on its own line that looks strange.

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