在API网关上记录对不存在的资源的请求

时间:2017-07-24 18:30:25

标签: aws-api-gateway amazon-cloudwatch

如何查看AWS API Gateway提供的对非创建端点的请求? I.E:在我的API网关上,我只有/ customers资源(在cloudwatch上可见)。但出于某种原因,我想知道用户是否向任何其他端点发出请求。

3 个答案:

答案 0 :(得分:1)

请参阅此主题。 https://forums.aws.amazon.com/thread.jspa?messageID=805138#805138

" 遗憾的是,API Gateway不为客户提供访问日志。我将在API网关端创建一个功能请求,API网关将考虑优先处理此请求,但我无法为此提供ETA。作为解决方法,您可以使用与其他资源相同级别的模拟集成创建代理资源,并且您将能够看到遇到错误资源的请求的日志。 "

谢谢!

答案 1 :(得分:0)

答案 2 :(得分:0)

你可以这样做:

no-endpoint:
  description: catch all non-existent enpoints with 404 - must be last 
  http
  handler: src/functions/api-controller.noEndpoint
  events:
  - http:
      path: /{proxy+}
      method: any
      cors: true

然后在noEndpoint处理程序中注销CloudWatch日志或您想要使用的任何日志记录服务。

注意:这必须是模板中的最后一个 http 功能,否则会捕获所有 http请求。

代理+文档: http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-set-up-simple-proxy.html