【问题标题】:Evaluate requests in the API Gateway评估 API Gateway 中的请求
【发布时间】:2017-05-29 09:37:07
【问题描述】:

API 网关可以评估请求并路由或返回特定参数的错误(不是 200 状态)吗?

我想要在这里实现的是不要有数百万个请求访问我们的后端 API,因为我们已经知道(通过评估参数)我们对返回所有请求的响应不感兴趣,而只对返回几个百分比感兴趣。

我放弃了在 API 网关中设置一个 API 代理,其中包含一整套请求、响应和后端。

代理完全可以运行,并且可以通过节流等方式启动和运行。我希望 API 网关评估请求查询字符串并根据某些参数的值采取不同的操作?

假设完整的 URL 和查询字符串是:

https://abc123.execute-api.eu-central-1.amazonaws.com/prod?param1=a&param2=b&param3=c

现在取决于 param1、param2 和 param3 的值,我可能想要:

  • 将请求转发到我的实际 API 并将响应返回给客户端。
  • 丢弃请求或返回具有特定 HTTP 状态(404、503 等 - 确切值不那么重要)的空(或模板化)响应。

这是否可以通过 API 网关实现,还是我需要实际设置一个带有反向代理的主机并让它处理这个逻辑?

【问题讨论】:

  • 您是否考虑过使用API Key?任何没有有效x-api-key HTTP 标头的请求都会收到 403 Forbidden 状态码。
  • @KhalidT。我们确实可以拥有一个 API 密钥,但这不是这里的问题。我们正在向一个元搜索站点发布一个 API,该站点每天会生成数十万个相当昂贵的请求,我们知道我们只对响应其中一小部分感兴趣。将所有内容转发到我们的后端将会使我们的服务器不堪重负。

标签: amazon-web-services aws-api-gateway


【解决方案1】:

请求参数和模型验证是一项长期存在的功能请求,我们正在积极处理它。当该功能启动时,我们会更新这篇文章并提供更多详细信息。

更新:请求参数和正文验证现已于 2017 年 4 月上旬提供。在this blog post 上查看更多详细信息。

【讨论】:

  • 不错,但我猜没有时间跨度?
  • 很遗憾没有:(
猜你喜欢
  • 2019-03-11
  • 1970-01-01
  • 2021-02-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-08
  • 1970-01-01
相关资源
最近更新 更多