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

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 .zip 文件归档构建和部署 C# Lambda 函数

.NET 部署包(.zip 文件存档),包含您的函数的已编译程序集以及其所有程序集依赖项。该程序包还包含一个 proj.deps.json 文件。这将向 .NET 运行时系统告知您的所有函数的依赖项和 proj.runtimeconfig.json 文件,后者用于配置运行时系统。

要部署单个 Lambda 函数,您可以使用 Amazon.Lambda.Tools .NET Lambda Global CLI。使用 dotnet lambda deploy-function 命令会自动创建.zip 部署包并将其部署到 Lambda。但是,建议您使用类似 Amazon Serverless Application Model(Amazon SAM)或 Amazon Cloud Development Kit (Amazon CDK) 等框架来将 .NET 应用程序部署到 Amazon。

无服务器应用程序通常由 Lambda 函数和其他托管 Amazon Web Services 组合而成,它们共同执行特定的业务任务。Amazon SAM 和 Amazon CDK 简化了使用其他 Amazon Web Services 大规模构建和部署 Lambda 函数的过程。Amazon SAM 模板规范提供了一种简单而干净的语法,用于描述构成无服务器应用程序的 Lambda 函数、API、权限、配置和其他 Amazon 资源。使用 Amazon CDK,您可以将云基础设施定义为代码,以帮助您借助 .NET 等现代编程语言和框架,在云中构建可靠、可扩展且成本高效的应用程序。Amazon CDK 和 Amazon SAM 都使用 .NET Lambda Global CLI 来打包您的函数。

尽管可以使用 .NET Core CLI 将 Lambda 层与 C# 中的函数结合使用,但我们不建议这样做。C# 中使用层的函数会在 Init 阶段 期间将共享程序集手动加载到内存中,而这可能会增加冷启动时间。您可以改为在编译时包含所有共享代码,以利用 .NET 编译器的内置优化。

您可以在以下各节中找到有关使用 Amazon SAM、Amazon CDK 和 .NET Lambda Global CLI 构建和部署 .NET Lambda 函数的说明。