使用 .zip 文件归档构建和部署 C# Lambda 函数
.NET 部署包(.zip 文件存档),包含您的函数的已编译程序集以及其所有程序集依赖项。该程序包还包含一个
文件。这将向 .NET 运行时系统告知您的所有函数的依赖项和 proj
.deps.json
文件,后者用于配置运行时系统。proj
.runtimeconfig.json
要部署单个 Lambda 函数,您可以使用 Amazon.Lambda.Tools
.NET Lambda Global CLI。使用 dotnet lambda deploy-function
命令会自动创建.zip 部署包并将其部署到 Lambda。但是,建议您使用类似 AWS Serverless Application Model(AWS SAM)或 AWS Cloud Development Kit (AWS CDK) 等框架来将 .NET 应用程序部署到 AWS。
无服务器应用程序通常由 Lambda 函数和其他托管 AWS 服务 组合而成,它们共同执行特定的业务任务。AWS SAM 和 AWS CDK 简化了使用其他 AWS 服务 大规模构建和部署 Lambda 函数的过程。AWS SAM 模板规范提供了一种简单而干净的语法,用于描述构成无服务器应用程序的 Lambda 函数、API、权限、配置和其他 AWS 资源。使用 AWS CDK,您可以将云基础设施定义为代码,以帮助您借助 .NET 等现代编程语言和框架,在云中构建可靠、可扩展且成本高效的应用程序。AWS CDK 和 AWS SAM 都使用 .NET Lambda Global CLI 来打包您的函数。
尽管可以使用 .NET Core CLI 将 Lambda 层与 C# 中的函数结合使用,但我们不建议这样做。C# 中使用层的函数会在 Init 阶段 期间将共享程序集手动加载到内存中,而这可能会增加冷启动时间。您可以改为在编译时包含所有共享代码,以利用 .NET 编译器的内置优化。
您可以在以下各节中找到有关使用 AWS SAM、AWS CDK 和 .NET Lambda Global CLI 构建和部署 .NET Lambda 函数的说明。