【问题标题】:When should I Use AWS API Gateway Proxy Integration?我应该何时使用 AWS API Gateway 代理集成?
【发布时间】:2017-11-26 06:23:26
【问题描述】:

我是 AWS 的新手,我正在设置一个 API 网关,它将调用一个 Lambda 函数,该函数将该数据发布到 Kinesis Stream。 API Gateway Post 请求将包含多个请求参数。

我正在阅读 AWS 文档,我看到了 2 个用于访问请求参数的选项。

1) 通过 $input 变量doc

2) 通过代理集成doc

您能否解释一下代理集成与使用输入变量的用例?

【问题讨论】:

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


    【解决方案1】:

    基本上,如果您控制后端集成接口(就像使用 Lambda 函数一样),您应该使用“代理”集成,因为在 Lambda 函数代码中操作数据比在 API Gateway 转换中容易得多。

    如果您不控制后端集成接口(例如直接 Kinesis,或旧版 HTTP 端点),那么您可以使用映射模板在客户端和后端集成之间转换数据。

    这有意义吗?对于您使用 Lambda 的用例,您应该使用代理。如果您想尝试直接使用 Kinesis 作为后端,则必须使用映射模板来构造对 Kinesis 的正确请求。

    【讨论】:

    • 谢谢,这是有道理的。使用代理将请求参数传递给 Lambda 函数时,如何单独访问函数中的每个参数?我在看一个例子,我们得到一个像 event.pathParameters.proxy 这样的参数。但这会将所有参数放在一起。
    • 或者我需要用额外的逻辑在 lambda 端解析这个结果吗?
    • 如果您使用像 {proxy+} 这样的“贪婪”路径参数,那么您只需将整个路径作为参数值。可以在函数中解析。
    • 感谢@Jack Kohn,使用 split("/") 方法很容易拆分
    猜你喜欢
    • 2018-05-04
    • 2018-06-09
    • 2018-12-02
    • 2017-04-07
    • 1970-01-01
    • 2017-07-09
    • 2018-01-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多