AWS API 网关 HTTP 请求拦截器

Mah*_*iya 2 logging amazon-web-services aws-lambda aws-api-gateway

我找不到有关拦截所有通过 AWS API Gateway 传递的 HTTP 请求的文档。

我正在尝试为部署在 AWS API Gateway 上的后端 API 提出日志记录服务。这个想法是所有的 HTTP 请求都将通过 API 网关。如果我能够拦截通过 API Gateway 的请求,我就可以挂钩日志服务代码。

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

对此有任何解决方案吗?

hep*_*ump 5

您可以将 CloudFront 放在您的 API Gateway 前面,然后使用 Lambda@Edge Viewer Request 来拦截所有请求;我们这样做是为了记录某些功能,它可以完美运行。

这是一个关于如何使用 CloudFront 设置 API 网关的好教程 https://aws.amazon.com/premiumsupport/knowledge-center/api-gateway-cloudfront-distribution/

  • 这似乎是一个很好的解决方案。请注意教程中提到使用区域(非边缘优化)API 部署的步骤。当您在 API Gateway 前面部署自己的 CloudFront 发行版时,这会改善延迟 - 否则您会将每个请求循环进出 AWS Edge 网络两次,而不是一次。 (2认同)