【问题标题】:build web backend apis using aws API gateway lambda使用 aws API 网关 lambda 构建 Web 后端 API
【发布时间】:2017-06-11 06:30:02
【问题描述】:

我正在开发一个构建后端无服务器 Web api 的项目。在阅读了 AWS api gateway/lambda developer guide 上的这些文档后,我完全被我可以使用的不同方法弄糊涂了。

我对所有网络东西都很陌生,包括请求、响应、代理......

我尝试了一些在教程和网上找到的解决方案,但仍然感到困惑。

  1. API网关集成请求,集成类型下有“Lambda函数”和“AWS服务”,如果我选择AWS服务,那么我仍然可以选择lambda。有什么区别?如果我选择 lambda,我可以选择“使用 lambda 代理集成”,我研究了“代理”,我想我明白了,但我在这里仍然感到很困惑。在我的实验中,只有选择“使用 lambda 代理集成”,我才能在“事件”对象中获取请求。有时网络浏览器可以呈现来自 lambda 的响应,有时它需要在 API 网关内进行一些设置

  2. 在我的情况下使用的最佳解决方案/做法是什么?

请帮忙

【问题讨论】:

    标签: api amazon-web-services proxy aws-lambda aws-api-gateway


    【解决方案1】:

    AWS 服务用于调用该服务的 AWS API。 Lambda 函数用于调用 Lambda 函数。如果您想调用 Lambda 函数,而不是调用一些与管理 Lambda 函数相关的 AWS API,则选择集成类型“Lambda 函数”。

    你的第二个问题太宽泛了,我什至不知道你在问什么。

    【讨论】:

    • @Pano:除了提供的信息标记之外,如果您希望单个 Lambda 函数接收来自多个 HTTP 方法(GET、PUT、DELETE 等)的请求,“lambda 代理集成”是一个选项。 ) 和使用/{proxy+} 资源路径的多个路径(这会捕获根路径下的任何路径)。在此选项中,您的 Lambda 函数将接收包含所有 HTTP 信息(方法、路径、标头等)的任何请求的标准消息格式。然后,您将确定如何处理请求(基本上实现您自己的路由)。
    • 如果您希望 API Gateway 充当具有不同 HTTP 路径和路由到不同 Lambda 函数的方法的 HTTP 方法的路由器,则标准的“Lambda 函数”集成请求更合适。
    • 它们都是实现无服务器 API 的有效方法,架构决策将归结为您希望如何处理路由、部署、Lambda 函数(您是否想为不同的方法使用多种语言?)等
    【解决方案2】:

    试试Claudia.js 它可能是您唯一需要的工具。也可以试试BST Proxy。它有一个漂亮的本地调试代理。

    【讨论】:

      【解决方案3】:

      我想让你知道无服务器的关键点。

      • AWS API Gateway 用作代理,可以直接访问第三方客户端。

      • AWS Lambda 函数的工作方式类似于私有子网中的 EC2。

      由于第三方客户端无法直接访问 AWS Lambda, 所以你需要一个 AWS API Gateway 作为 AWS Lambda 函数的代理。

      【讨论】:

        猜你喜欢
        • 2015-10-14
        • 2019-05-02
        • 2022-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-11-09
        • 2018-09-11
        • 2019-05-10
        • 2020-10-07
        相关资源
        最近更新 更多