Kien 将帮助您构建
适用于 C# .NET 的
Lambda 部署程序包

kien

我在 C# 中创建了 AWS Lambda 函数,但在调用期间出错。如何构建 C# 部署程序包以避免出错? 该怎么做?

C# 中 Lambda 函数的一些常见错误包括“module not found (找不到模块)”、“module cannot be loaded (无法加载模块)”或者“cannot find class (找不到类)"。 在您的部署程序包中,如果为 Lambda 服务加载模块和库使用了错误的文件夹结构,则可能会导致这些错误。 

构建具有正确文件夹结构的部署程序包。

有两种主要的方法可用于为 Lambda 构建和部署 C# 部署程序包:使用 .NET Core 命令行界面 (CLI)Amazon.Lambda.Tools 插件,或者使用 AWS Toolkit for Visual Studio。有关更多信息,请参阅 C# 中的 AWS Lambda 部署程序包

使用 .NET Core CLI 构建和部署程序包

1.    如需安装默认 Lambda .NET 模板并随后将 Amazon.Lambda.Tools 插件添加到 .NET Core CLI,请运行以下命令:

dotnet new -i 'Amazon.Lambda.Templates::*'

2.    执行以下任一操作:

如需使用您已安装的模板之一创建新 Lambda 函数,请运行以下命令:

dotnet new lambda.EmptyFunction --name {function-name} --profile default --region {aws-region}

例如:

dotnet new lambda.EmptyFunction --name myFunction --profile default --region us-east-1

如需将 Amazon.Lambda.Tools 添加到现有项目,请手动将以下项组添加到您项目的 2017 .csproj 文件:

<ItemGroup>
<DotNetCliToolReference Include="Amazon.Lambda.Tools" Version="{current-version}"></DotNetCliToolReference>
</ItemGroup>

注意:检查 NuGet 网站上 Amazon.Lambda.Tools 的最新版本(例如,“3.1.1”)。

3.    要下载所有依赖项,请运行以下命令:

cd {your-function-directory}
dotnet restore

例如:

cd myFunction\src\myFunction
dotnet restore

注意:如果您收到了“not compatible (不兼容)”错误,请确保您已安装了与 Lambda 工具兼容的 .NET Core 版本,并且在 CLI 中使用的是该版本。如需下载较早版本的 .NET Core,请参阅 .NET 下载存档网站

4.    如需构建部署程序包,请运行以下命令:

dotnet lambda deploy-function

5.    当 CLI 中出现提示时,输入函数名称并选择 IAM 角色。此时将创建您的 Lambda 函数。

使用 AWS Toolkit for Visual Studio 构建和部署程序包

1.    下载并安装 AWS Toolkit for Visual Studio

2.    创建并生成 AWS Lambda Project (.NET Core) 项目。有关更多信息,请参阅在 AWS Toolkit for Visual Studio 中使用 AWS Lambda 模板以及创建和生成项目

检查函数处理程序签名

您在创建 Lambda 函数时提供的处理程序签名应为以下格式:

ASSEMBLY::TYPE::METHOD

例如:

myFunction::myFunction.Function::FunctionHandler

如需确认正确设置了函数的格式,您可以检查函数 src/{function-name} 目录下的文件。有关更多信息,请参阅 .NET Core CLI处理程序签名


此页内容对您是否有帮助? |

返回 AWS Support 知识中心

需要帮助? 请访问 AWS Support 中心

发布时间:2018 年 12 月 27 日