Amazon web services AWS API网关HTTP请求拦截器

Amazon web services AWS API网关HTTP请求拦截器,amazon-web-services,logging,aws-lambda,aws-api-gateway,Amazon Web Services,Logging,Aws Lambda,Aws Api Gateway,我找不到任何关于拦截通过AWSAPI网关的所有HTTP请求的文档 我试图为部署在AWSAPI网关上的后端API提供一个日志服务。其想法是所有HTTP请求都将通过API网关。如果我能够截获通过API网关的请求,我就可以钩住日志服务代码 这种方法的原因是,日志代码将独立于实际的服务代码,并且服务代码不必更新以包括请求/响应的日志记录 有什么解决方案吗?您可以将CloudFront放在API网关前面,然后使用Lambda@Edge查看器请求拦截所有请求;我们这样做是为了记录某些功能,它工作得完美无缺

我找不到任何关于拦截通过AWSAPI网关的所有HTTP请求的文档

我试图为部署在AWSAPI网关上的后端API提供一个日志服务。其想法是所有HTTP请求都将通过API网关。如果我能够截获通过API网关的请求,我就可以钩住日志服务代码

这种方法的原因是,日志代码将独立于实际的服务代码,并且服务代码不必更新以包括请求/响应的日志记录


有什么解决方案吗?

您可以将CloudFront放在API网关前面,然后使用Lambda@Edge查看器请求拦截所有请求;我们这样做是为了记录某些功能,它工作得完美无缺

这是一个关于如何使用CloudFront设置API网关的好教程

克劳迪娅·博特·builder的方法似乎可以帮助您拦截API网关请求。您可以为命中API网关的请求触发事件

          `api.intercept(function (event) { ... });`

我也有类似的要求。我构建了一个flask应用程序,并使用zappa部署到APIG/lambda。这使我能够拦截所有请求并迁移到新服务。@al76有趣!有没有什么地方可以让我看穿实施细节或者你在做这件事时提到的博客?这似乎是一个很好的解决方案。请注意教程中提到的使用区域(非边缘优化)API部署的步骤。当您在API网关前部署自己的CloudFront发行版时,这会提高延迟——否则,您会将每个请求循环进出AWS边缘网络两次,而不是一次。我们在Lambda上的API很少,在VPC内的EC2上运行的API也很少。具有Lambda@Edge亚马逊专有网络无法使用;所以我担心这可能对我不起作用!你在问题中没有提到这一点;您的问题非常具体,是关于API网关的,拦截对API网关的请求,而不是拦截对在别处运行的API的请求。