【发布时间】: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¶m2=b¶m3=c
现在取决于 param1、param2 和 param3 的值,我可能想要:
- 将请求转发到我的实际 API 并将响应返回给客户端。
- 丢弃请求或返回具有特定 HTTP 状态(404、503 等 - 确切值不那么重要)的空(或模板化)响应。
这是否可以通过 API 网关实现,还是我需要实际设置一个带有反向代理的主机并让它处理这个逻辑?
【问题讨论】:
-
您是否考虑过使用API Key?任何没有有效
x-api-keyHTTP 标头的请求都会收到 403 Forbidden 状态码。 -
@KhalidT。我们确实可以拥有一个 API 密钥,但这不是这里的问题。我们正在向一个元搜索站点发布一个 API,该站点每天会生成数十万个相当昂贵的请求,我们知道我们只对响应其中一小部分感兴趣。将所有内容转发到我们的后端将会使我们的服务器不堪重负。
标签: amazon-web-services aws-api-gateway