在AWS Lambda中创buildRESTful服务

在浏览AWS Lambda文档时,会提供有关基于AWS事件的触发服务的参考。 我在Lambda上看不到有关托pipe服务的参考信息。

想了解是否可以使用AWS Lambda为网站创buildRESTful服务来消费或不使用?

我可以使用NodeJs来开发服务。

更正:

亚马逊推出了使用Lambda的Amazon API网关

什么是Amazon API网关?

API网关可帮助开发人员提供强大,安全且可扩展的移动和Web应用程序后端。 API Gateway允许开发人员将移动和Web应用程序安全地连接到托pipe在AWS Lambda上的业务逻辑,托pipe在Amazon EC2上的API或AWS内部或外部托pipe的其他可公开寻址的Web服务。 利用API网关,开发人员可以创build和操作其后端服务的API,而无需开发和维护基础架构来处理授权和访问控制,stream量pipe理,监视和分析,版本pipe理以及软件开发工具包(SDK)生成。

API网关专为networking和移动开发人员而devise,他们希望提供安全可靠的后端API访问,以访问由内部或第三方生态系统合作伙伴构build的移动应用程序,Web应用程序和服务器应用程序。 API背后的业务逻辑可以由可公开访问的端点API网关代理调用提供,也可以完全作为Lambda函数运行。

https://aws.amazon.com/api-gateway

截至今日; AWS Lambda专注于处理/响应S3 put,DynamoDB Streams以及自定义事件(可能会有更多来自Amazon的事件源),并大大利用STATELESSNESS编程风格。

使用AWS Lambda构build完整的RESTful Service后端将是不可能的,换言之,AWS Lambda将是构buildRESTful Service的不错select。 您可以继续使用NodeJS并使其运行在EC2或ElasticBeanstalk之上。

截至上个月,答案已经改变。 AWS Lambda函数现在可以返回同步响应,AWS现在鼓励将Lambda用作移动后端或可能是完整的REST API。

文档目前有点稀疏,但您现在可以从这里开始阅读: http : //aws.amazon.com/lambda/whatsnew/

亚马逊现在直接通过API网关服务来支持这一点。 这篇文章是如何开始的一个伟大的破败。

答案是肯定的 ,可以使用AWS lambda构buildREST风格的服务,以供网站使用。

亚马逊的Tim Wagner在会议发言中回答了你的问题,观众向你提出了非常类似的问题。

“如果你想触发一个基于从互联网上的用户进来的普通的旧Web请求的lambda函数…他们打了一个地址,他们发送了一堆查询参数…所以这只是这一个无国籍类的东西,进来一堆数据,然后你想触发一个lambda函数呢?…那里有什么select?…发射该node.js的工作量?

答案1

“…使用类似beanstalk的东西来创build一个web应用程序,然后在那个webapp中调用lambda函数来处理你的工作负载或者场景中有意义的部分”

答案2

“…如果你能够……限制你的调用来匹配lambda的请求模型,那么你可以跳过(beanstak webapp),并简单地打电话给我们,就好像我们是一个Web服务代理”

https://youtu.be/copO_JQQsBs?t=50m53s


至于你的问题的节点部分。

答案是肯定的,你可以使用node.js来开发你的Lambda函数

请参考下面的亚马逊networking研讨会。

“今天我们支持的语言是node.js”

https://youtu.be/YEWtQsqIYsk?t=25m22s

AWS Lambda几乎可以做任何事情(也很容易)。 你可以看看下面的无服务器框架: http : //docs.serverless.com/v0.5.0/docs

对于JAVA,您可以使用Lambada Framework: https : //github.com/lambadaframework/lambadaframework