如何在本地调试和运行多个 lambda

Ton*_*nen 6 aws-lambda aws-sam-cli .net-5

我想使用 aws lambda 构建 .NET HTTP API。这些 lambda 表达式将由 UI 和其他一些系统通过 api 网关调用。显然,在本地环境中我想运行/调试这些。

我尝试过的:

a) 使用AWS Visual Studio模板附带的模拟工具。您可以调用单独的 lambda,但我不知道如何使用正常的休息调用从例如邮递员中调用它们。我不知道模拟工具如何进行这些调用,因为 chrome/firefox 不显示它们。

b) 使用 sam local start-api。这是我所做的:

sam --version
SAM CLI, version 1.22.0
sam init (choose aws quick start template, package type Image and amazon/dotnet5.0-base as base image)
Run Code Online (Sandbox Code Playgroud)

我可以使用 构建解决方案sam build,运行它,sam local start-api然后我可以浏览到它http://localhost:3000/hello并且它可以工作。问题是我需要在 VS 中构建 + 每次更改代码时都执行这些步骤。也没有简单的方法来附加调试器。

那么推荐的方法是什么?我知道你可以在 lambda 中运行整个 .NET Web api,但这听起来不是一个好的技术解决方案。我假设我不是第一个使用 lambda 构建 HTTP api 的人。

Ror*_*wne 1

也许值得考虑在 Docker 中运行类似 lambda 的环境。

虽然在实际的 Lambda 中包含您需要的 dotnet 工具可能不可行,但将它们包含在 Docker 映像中或绑定安装到 Docker 容器可能是可行的。这些来自lambci的图像可以帮助解决这个问题:https://hub.docker.com/r/lambci/lambda/