AWS API Gateway每个方法的多个集成请求

时间:2017-08-24 15:28:24

标签: aws-api-gateway

我的资源/ api有一个方法POST,它将身体代理到Kinesis Firehose(然后是ES)。同时我希望它能触发Lambda函数。

我尝试添加一个额外的ANY方法来触发Lambda函数,但API Gateway似乎更喜欢POST处理程序。

我知道我可以在POST上触发Lambda并从Lambda函数提交给Firehose,但我更喜欢让这两者相互独立。

1 个答案:

答案 0 :(得分:6)

API Gateway不会将请求分叉为多个并发操作。 ANY方法意味着“没有定义方法的任何方法”。由于您还定义了POST,因此任何POST都无法看到ANY

要执行您正在尝试的操作 - 执行Lambda函数调用Kinesis API,您需要编写一个初始Lambda函数作为包装器并执行它们actions - 向Kinesis发送请求并向Lambda发送请求(以调用其他Lambda函数) - 如果业务逻辑允许则异步 - 然后将结果编组为满足您需求的单个连贯响应。

第一个Lambda函数不需要与第二个函数使用相同的语言,因此,例如,如果现有的Lambda函数是Java,则包装函数可以用Node编写,不会产生负面的性能影响,因为它在Lambda API的另一端独立执行。