在本地调试 C# AWS Lambda 函数

Jac*_*ick 6 c# debugging lambda amazon-web-services .net-core

我一直在查看 Amazon 的 C# 和 Lambda 文档。我尝试过使用他们的 yeoman 生成器和 Visual Studio 工具包。我的目标只是拥有一个包含多个功能的项目,我可以在本地计算机上调试这些功能。问题是,运行调试器会给我一条关于没有项目入口点的消息,考虑到它是作为类库创建的,这是有道理的。

据我所知,开发过程似乎是编写代码、在 AWS 上部署和运行该功能。调试将检查输出并从那里开始。有没有办法实际使用 Visual Studio 的内置调试器?更好的是,我想要一个在我的 Mac 上进行本地调试的工作流程。例如,在 NodeJS 中,我可以使用 Serverless 框架并将 VS Code 中的 launch.json 文件设置为以下内容:

"configurations": [{
    "type": "node",
    "request": "launch",
    "protocol": "legacy",
    "name": "run hello",
    "program": "${workspaceRoot}/node_modules/.bin/sls",
    "args": [
        "invoke",
        "local",
        "--function",
        "hello",
        "--data",
        "{}"
    ]
}
Run Code Online (Sandbox Code Playgroud)

这允许我模拟数据并使用断点进行调试。

小智 5

使用 Visual Studio,您可以安装AWS 的 AWS .NET Mock Lambda 测试工具

在与解决方案文件相同的目录中使用以下命令:

dotnet tool install -g Amazon.Lambda.TestTool-2.1
Run Code Online (Sandbox Code Playgroud)

Visual Studio 会自动添加调试配置,以便您可以像调试任何其他 .NET 应用程序一样调试项目。

AWS .NET 模拟 Lambda 测试工具GitHub 页面中提供的 VS Code、Rider 和其他说明


jac*_*ode 2

我没有遵循这个指南,但它似乎谈论如何在本地调试。如果需要的话,它确实会进一步在 AWS 上进行实际设置:

https://cloudncode.blog/2017/01/24/getting-started-with-writing-and-debugging-aws-lambda-function-with-visual-studio-code/

从要点来看,您似乎为 Lambda 类设置了一个 Main 入口点,用于从 JSON 加载测试文件。这类似于您在 AWS 上设置 Lambda 函数测试的方式。