【问题标题】:Debug C# AWS Lambda Function Locally在本地调试 C# AWS Lambda 函数
【发布时间】:2017-08-13 16:45:31
【问题描述】:

我一直在查看 Amazon 的 C# 和 Lambda 文档。我尝试使用他们的 yeoman 生成器和 Toolkit for 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",
        "{}"
    ]
}

这让我可以模拟数据并使用断点进行调试。

【问题讨论】:

    标签: c# amazon-web-services debugging lambda .net-core


    【解决方案1】:

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

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

    dotnet tool install -g Amazon.Lambda.TestTool-2.1
    

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

    The AWS .NET Mock Lambda Test Tool GitHub 页面中提供的 VS Code、Rider 和其他说明

    【讨论】:

      【解决方案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 函数测试的方式。

      【讨论】:

      • 这看起来很简单,我不知道为什么我在任何地方都没有看到它。谢谢!
      【解决方案3】:

      This AWS lambda documentation 通过 AWS CLI 调用 lambda 开始测试主题。本文包含在不同操作系统和 IDE 中使用 AWS CLI 的链接。

      调用示例:

      aws lambda invoke --invocation-type RequestResponse --function-name helloworld --region us-west-2 --profile adminuser
      

      Tutorial with details of using Invoke

      AWS Invoke API Reference documentation

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-02-26
        • 1970-01-01
        • 1970-01-01
        • 2019-06-03
        • 2022-01-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多