使用 C# 构建 Lambda 函数 - Amazon Lambda
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

使用 C# 构建 Lambda 函数

以下部分说明在使用 C# 编写 Lambda 函数代码时如何应用常见的编程模式和核心概念。

Amazon Lambda 提供以下适用于 C# 函数的库。这些程序包可以在 Nuget 程序包中找到。

适用于 C# 的工具和库
  • Amazon.Lambda.Core – 该库提供一个静态 Lambda 记录器、若干序列化接口和一个 context 对象。Context 对象 (Amazon LambdaC# 中的 上下文对象) 提供有关您的 Lambda 函数的运行时信息。

  • Amazon.Lambda.Serialization.Json – 这是在 Amazon.Lambda.Core 中实施序列化接口的实例。

  • Amazon.Lambda.Logging.AspNetCore – 这是用于从 ASP.NET 记录日志的库。

  • 适用于几项 Amazon 服务的事件对象 (POCO),其中包括:

    • Amazon.Lambda.APIGatewayEvents

    • Amazon.Lambda.CognitoEvents

    • Amazon.Lambda.ConfigEvents

    • Amazon.Lambda.DynamoDBEvents

    • Amazon.Lambda.KinesisEvents

    • Amazon.Lambda.S3Events

    • Amazon.Lambda.SQSEvents

    • Amazon.Lambda.SNSEvents

Lambda 为.NET 语言提供以下运行时系统:

.NET
名称 标识符 操作系统 架构 弃用(阶段 1)

.NET 7(仅限容器)

dotnet7

Amazon Linux 2

x86_64,arm64

2024 年 5 月 14 日

.NET 6

dotnet6

Amazon Linux 2

x86_64,arm64

要在本地环境中开始应用程序开发,请部署本指南的 GitHub 存储库中提供的其中一个示例应用程序。

C# 中的 Lambda 应用程序示例
  • blank-csharp – 此 C# 函数可显示 Lambda 的 .NET 库、日志记录、环境变量、Amazon X-Ray 跟踪、单元测试和Amazon开发工具包的使用情况。

  • blank-csharp-with-layer:一个 C# 函数,通过使用 .NET CLI 创建打包函数依赖项的层。

  • ec2-spot – 此函数可在 Amazon EC2 中管理竞价型实例请求。