2017-06-22 102 views
0

我是AWS的新手,我正在设置一个API网关,它将调用一个将数据发布到Kinesis Stream的Lambda函数。 API网关发布请求将包含几个请求参数。何时应使用AWS API网关代理集成?

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

1)通过通过代理集成doc

的$输入变量doc

2)能否请您解释为代理集成VS使用输入变量的使用情况?

回答

1

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

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

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

+0

谢谢,这是有道理的。当使用代理将请求参数传递给Lambda函数时,如何在函数中单独访问每个参数?我正在看一个例子,我们可以得到像这个event.pathParameters.proxy这样的单个参数。但是这会将所有参数结合在一起。 – bzak

+0

还是我需要在lambda端使用其他逻辑来解析这个结果? – bzak

+0

如果您使用{proxy +}这样的'贪婪'路径参数,那么您只需将整个路径作为参数值。你可以在函数中解析它。 –

相关问题