【问题标题】:Creating RESTful services in AWS Lambda在 AWS Lambda 中创建 RESTful 服务
【发布时间】:2015-04-20 09:39:05
【问题描述】:

当我浏览 AWS Lambda 文档时,有一些关于基于 AWS 事件触发服务的参考资料。我没有在 Lambda 中看到有关托管服务的参考资料。

想了解是否可以使用 AWS Lambda 创建 RESTful 服务 供网站使用?

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

【问题讨论】:

    标签: node.js rest amazon-web-services aws-lambda


    【解决方案1】:

    截至上个月,答案发生了变化。 AWS Lambda 函数现在可以返回同步响应,AWS 现在鼓励将 Lambda 用作移动后端或潜在的完整 REST API。

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

    【讨论】:

      【解决方案2】:

      亚马逊现在通过 API Gateway 服务直接支持这一点。 This post 是一个很好的入门指南。

      【讨论】:

        【解决方案3】:

        更正:

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

        什么是亚马逊 API 网关?

        API Gateway 帮助开发人员交付 强大、安全和可扩展的移动和 Web 应用程序后端。 API 网关允许开发人员安全地连接移动和网络 应用到 AWS Lambda 上托管的业务逻辑,API 托管在 Amazon EC2 或托管在内部的其他可公开寻址的 Web 服务 或在 AWS 之外。借助 API Gateway,开发者可以创建和操作 后端服务的 API,无需开发和维护 处理授权和访问控制、流量的基础设施 管理、监控和分析、版本管理和软件 开发工具包 (SDK) 生成。

        API Gateway 专为正在寻找 提供对后端 API 的安全、可靠的访问,以便从 内部或由内部构建的移动应用程序、Web 应用程序和服务器应用程序 第三方生态系统合作伙伴。 API 背后的业务逻辑可以 由可公开访问的端点 API 网关提供 代理调用,或者它可以完全作为 Lambda 函数运行。

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

        从今天开始; AWS Lambda 专注于处理/响应 S3 put、DynamoDB Streams 等事件以及自定义事件 [亚马逊可能会提供更多事件源] - 大量利用 STATELESSNESS 编程风格。

        使用 AWS Lambda 构建完整的 RESTful 服务后端是不可能的,或者换句话说,AWS Lambda 将是构建 RESTful 服务的错​​误选择。您可以继续使用 NodeJS 并使其在 EC2 或 ElasticBeanstalk 之上运行。

        【讨论】:

        • 好的,您强调 Lambda 会利用“STATELESSNESS”,这将是一个问题。我想提醒一下,正确的 REST 是无状态的。
        【解决方案4】:

        答案是是的可以使用 AWS lambda 构建 RESTful 服务供网站使用。

        亚马逊的蒂姆·瓦格纳 (Tim Wagner) 在一次会议演示中回答了您的问题,一位听众提出了与您的问题非常相似的问题。

        问题

        “如果您想根据来自 Internet 上的用户的常规旧 Web 请求触发 lambda 函数......他们点击了一个地址并发送了一堆查询参数......所以只有这种无状态的东西带有一堆数据,然后你想触发一个 lambda 函数?...那里有什么选项?...触发 node.js 工作负载? "

        答案 1

        "...使用 beanstalk 之类的东西来创建一个 Web 应用程序。然后在该 Web 应用程序中为您的工作负载或场景中有意义的部分调用 lambda 函数"

        答案 2

        "...如果您能够...限制您的调用以匹配 lambda 的请求模型,那么您可以跳过它(beanstak webapp)并简单地给我们打电话,就好像我们是您的网络服务代理一样"

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


        至于你问题的节点部分。

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

        请参阅下面来自亚马逊的网络研讨会。

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

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

        【讨论】:

          【解决方案5】:

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

          【讨论】:

            【解决方案6】:

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

            【讨论】:

              猜你喜欢
              • 2020-07-02
              • 2020-06-25
              • 1970-01-01
              • 2011-02-12
              • 2017-02-22
              • 1970-01-01
              • 2021-12-30
              • 1970-01-01
              • 2011-08-12
              相关资源
              最近更新 更多