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

使用 C# 构建 Lambda 函数

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

AWS Lambda 提供以下适用于 C# 函数的库:

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

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

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

  • 适用于几项 AWS 服务的事件对象 (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

这些程序包都可以在 Nuget 程序包中找到。

.NET 运行时
名称 标识符 操作系统

.NET Core 3.1

dotnetcore3.1

Amazon Linux 2

.NET Core 2.1

dotnetcore2.1

Amazon Linux

注意

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

C# 中的示例 Lambda 应用程序

  • blank-csharp – 一个 C# 函数,用于显示 Lambda 的 .NET 库、日志记录、环境变量、AWS X-Ray 跟踪、单元测试和 AWS 开发工具包的使用情况。

  • ec2-spot – 一个函数,用于管理 Amazon EC2 中的 Spot 实例请求。