Amazon.Lambda.AspNetCoreServer 是否与刚刚在 reInvent 期间宣布的 Application Load Balancer 集成一起使用? 尝试此操作时,我注意到一些奇怪的行为,不确定我做错了什么还是已知问题。
我只是在看一下新的 ALB 集成。 发送到 Lambda 函数的 JSON 请求不同于 API Gateway。 在 APIGatewayProxyFunction 中检测 JSON 格式并根据源执行不同的解析逻辑应该不会太难。
那很好啊。 我们可能会使用 ALB 作为我们首选的集成方法,因为我们已经大量使用了 ALB。
我们目前正在使用 APIGatewayProxyFunction,但 API Gateway 只允许 30 秒完成交易。 对于需要处理的较大数据,ELB 将是一个很好的解决方案。 (直到 lambda 函数的限制 15 分钟)
如果我们可以只使用 LambdaEntryPoint : Amazon.Lambda.AspNetCoreServer.APIGatewayProxyFunction 并且让它不关心它的 APIGateway 还是 ELB,那就太棒了。
我一直致力于alb-support分支的 ALB 支持。 该分支的下一步是处理Amazon.Lambda.AspNetCoreServer
哇,真快! =) 谢谢!
等不及了!
这太好了,谢谢。 期待将其用于我们的 dotnet core web 应用程序。 谢谢!
同意,等不及这个功能了!
状态更新我已经推送了包含Amazon.Lambda.AspNetCoreServer
更新的分支alb-support-aspnetcore 。
这些更改最终触发了比我跳的更大的重构。 当我最初编写这个库时,我绝对没有预料到 Lambda 函数会有多个 HTTP 前端。
如果有人愿意克隆 repo 并在我完成验证时尝试一下,那就太好了。 您应该只需要克隆 repo,进入Amazon.Lambda.ApplicationLoadBalancerEvents
和Amazon.Lambda.AspNetCoreServer
并执行dotnet pack
。 然后将创建的 NuGet 包添加到本地提要。
对于大多数应用程序,您应该在LambdaEntryPoint
或您命名的任何内容中进行的唯一更改是将基类从APIGatewayProxyFunction
更改ApplicationLoadBalancerFunction
。
有趣的是,我使用 master 重新部署到 LAMBDA 名称,并且能够在您的分支之前将 ELB 与 LambdaEntryPoint 一起使用:Amazon.Lambda.AspNetCoreServer.APIGatewayProxyFunction,并且一切正常。 (只需要在ELB Trigger上设置规则使用路径“api/*”)
(以某种方式在新的 lambda 函数上设置 ELB 触发器可以在没有分支的情况下解决问题,可能是因为标题/响应接近相同。)
如果我有时间,我将在今天晚些时候测试您的分支。
API Gateway 和 ALB 事件之间有相当多的相似性,这可以让你走运。 如果您启用了多值标头或来自请求正文的二进制数据,它将失败。
分支看起来不错。
这看起来棒极了! 我很想看看这个功能是如何工作的。 我们是否有任何关于何时可以合并和打包的预计 ETA?
真的很期待在官方包装中看到这个。
我认为这是您拥有的最好的无服务器产品。 如果不是因为两个主要缺点,我们会将我们的大多数 API 甚至网站迁移到这里; API 网关和 (lambda) 冷启动延迟。 这修复了其中一个,ALB 健康检查应该有助于保持 lambdas 活着:-)
@normj ,只是好奇是否有任何 ETA 关于我们什么时候可以在 Nuget 上使用它?
我也热切地等待这个功能也包含在 Nuget 中。
我已经在我现有的应用程序上对此进行了测试,它似乎可以正常工作。
Amazon.Lambda.AspNetCoreServer 3.0.0 版今天发布,支持 ALB。 查看博客文章了解更多信息。 https://aws.amazon.com/blogs/developer/updates-for-serverless-asp-net-core/
@normj很棒的帖子和出色的工作! 感谢您为将 .NET 集成到 AWS 生态系统所做的一切。
@ryanpagel欢迎您😄
在功能发布时关闭。
最有用的评论
我一直致力于alb-support分支的 ALB 支持。 该分支的下一步是处理
Amazon.Lambda.AspNetCoreServer