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

标签 aws-lambda .net-5 aws-sam-cli

我想使用 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/

相关文章:

amazon-web-services - sam.yml 文件中的多个 Lambda 函数

c# - .NET Core cookie 身份验证与 AWS Lambda 不持久

amazon-web-services - SAM 部署因 Lambda 函数的大小问题而失败

amazon-web-services - AWS SAM 模板创建 API

amazon-redshift - 将 Lambda 连接到不同可用区的 Redshift

amazon-web-services - 如何使用 SAM local generate event with queryparameters 生成事件?

c# - 无法在 Ubuntu 上匿名连接到 Mosquitto 2.0.5

.net - 找不到框架 'Microsoft.NETCore.App' ,版本 '5' ,而找到 Microsoft.NETCore.App 5.0.0

asp.net-core - .NET 5 Web API : Storing data per request

amazon-web-services - SAM CLI 的自定义构建步骤