我想使用 aws lambdas 构建 .NET HTTP API。 UI 和其他一些系统将通过 api 网关调用这些 lambda。显然在本地环境中我想运行/调试这些。
我尝试过的:
a) 使用 AWS 自带的模拟工具 Visual Studio 模板。您可以调用单个 lambda,但我不知道如何从例如调用它们 postman 使用正常的休息电话。我不知道模拟工具如何进行这些调用,因为 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)
我可以使用 sam build
构建解决方案,机智地运行它 sam local start-api
我可以浏览到 http://localhost:3000/hello
它有效。问题是我需要在 VS 中构建 + 每次更改代码时都执行这些步骤。也没有简单的方法来附加调试器。那么推荐的方法是什么?我知道您可以在 lambda 中运行整个 .NET web api,但这听起来不是一个好的技术解决方案。我假设我不是第一个使用 lambda 构建 HTTP api 的人。
最佳答案
可能值得考虑在 Docker 中运行类似 lambda 的环境。
虽然在实际的 Lambda 中包含您需要的 dotnet 工具可能不可行,但将它们包含在 Docker 镜像中或绑定(bind)安装到 docker 容器可能是可行的。这些来自 Lambci 的图像可以帮助解决这个问题:https://hub.docker.com/r/lambci/lambda/
关于aws-lambda - 如何在本地调试和运行多个 lambda,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67146402/