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

Gla*_*los 2 aws-api-gateway

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

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

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

Mic*_*bot 6

API网关不会将请求分叉为多个并发操作.的ANY方法是指"未经定义的方法的任何方法." 既然你也POST定义了,任何人POST都看不到ANY.

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

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