Amazon web services AWS Lambda w/API网关用于角度后端?

Amazon web services AWS Lambda w/API网关用于角度后端?,amazon-web-services,aws-lambda,Amazon Web Services,Aws Lambda,我仍在努力理解AWS Lambda的局限性,尤其是现在AWS API网关为使用Lambda服务REST请求提供了许多选项 我正在考虑在Angular中构建一个web应用程序,以Lambda作为后端 对于简单的CRUD内容来说,这似乎足够简单,但是身份验证呢?我是否可以使用类似Lambda的工具进行用户身份验证?是的,您几乎可以做任何事情,只需将会话存储在AWS托管的数据库(RDS、Dynamo等)上即可。但要确切地知道,你是在用lambda购买。它有很多取舍 价格:一台EC2服务器每月的价格是

我仍在努力理解AWS Lambda的局限性,尤其是现在AWS API网关为使用Lambda服务REST请求提供了许多选项

我正在考虑在Angular中构建一个web应用程序,以Lambda作为后端


对于简单的CRUD内容来说,这似乎足够简单,但是身份验证呢?我是否可以使用类似Lambda的工具进行用户身份验证?

是的,您几乎可以做任何事情,只需将会话存储在AWS托管的数据库(RDS、Dynamo等)上即可。但要确切地知道,你是在用lambda购买。它有很多取舍

  • 价格:一台EC2服务器每月的价格是固定的,但lambda有每次呼叫的费用。哪个更便宜取决于你的使用模式。Lambda在没有人使用您的产品时更便宜,EC2很可能随着使用量的增加而更便宜

  • 扩展:EC2可以扩展(在许多方面),但它更“手动”和“笨重”(您只能运行1台或2台服务器,而不是1.5)。Lambda具有细粒度缩放。你不必担心,但你对它的控制也少了

  • 性能:Lambda是一种特定的速度,您几乎无法控制。在某些情况下,它可能会有巨大的延迟,因为它们会启动新的容器来处理流量。EC2为您提供了更多的性能调优选项。(盒子大小、盒子缓存上、使用最新的node.js、从盒子中删除不需要的服务、能够运行strace等)您可以为多余的容量付费,以确保低延迟

  • 编码:Lambda与EC2的编码方式略有不同。Lambda强制您遵守一些惯例,这些惯例大多是最佳实践。但是EC2允许您在性能或开发速度方面违反它们。Lambda是一个“黑匣子”,当您需要进行故障排除时,您的控制和可见性会降低

  • 设置:Lambda更容易设置,总体上需要的知识更少。EC2要求您是一名系统管理员,并理解VPC、EBS、VPN、AMI等缩写词

但是认证呢

最模块化的方法是使用API网关(2016年2月新增)提供AWS Lambda功能,实现身份验证和授权

我写了一个通用的第三方单点登录服务

另见这一问题:

我能在Lambda中使用类似Passport的东西来进行用户身份验证吗


不容易。Passport依赖于您必须创建和配置的回调URL。

在这里发布此消息,因为这是我在Lamdba上搜索运行NodeJS Passport身份验证时发现的第一个线程

既然你可以运行,你真的可以直接在Lambda上运行Passport。然而,Passport实际上是专门用于Express的中间件,如果您首先为Lamda设计,您可能不希望Express的膨胀(因为API网关基本上可以完成所有这些)

正如@Jason提到的,您可以使用自定义授权人。这看起来很简单,但是谁想构建所有可能的auth方法呢?这是护照的优点之一,人们已经为你做了这件事

如果您正在使用,则表示有人构建了项目。这包括许多标准身份验证提供程序的模块:。还有


我花了大量的研究才完成所有这些,所以希望它能帮助其他人解决问题。

你有没有尝试过这个并让它发挥作用?我可以点击我的API网关端点并使用Postman运行lambda函数,但angular无法做到这一点。