使用 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(仅限容器) |
|
Amazon Linux 2 |
x86_64,arm64 |
2024 年 5 月 14 日 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
.NET 6 |
|
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 中管理竞价型实例请求。