我找不到任何有关拦截通过AWS API Gateway传递的所有HTTP请求的文档。
我正在尝试为AWS API Gateway上部署的后端API提出日志记录服务。想法是所有HTTP请求都将通过API网关。如果我能够拦截通过API网关的请求,则可以挂钩日志记录服务代码。
采用这种方法的原因是,日志记录代码将独立于实际的服务代码,并且不必更新服务代码以包括请求/响应的日志记录。
有什么解决办法吗?
答案 0 :(得分:3)
您可以将CloudFront放在API网关的前面,然后使用Lambda @ Edge Viewer Request拦截所有请求;我们这样做是为了记录某些功能,并且可以正常工作。
这是一个很好的教程,说明如何使用CloudFront设置API网关 https://aws.amazon.com/premiumsupport/knowledge-center/api-gateway-cloudfront-distribution/
答案 1 :(得分:0)
我会推荐https://www.zappa.io/
出色的解决方案非常灵活。
答案 2 :(得分:0)
似乎Claudia-bot-builder的intercept方法将帮助您拦截API网关请求。您可以触发请求到达API网关的事件。
`api.intercept(function (event) { ... });`