2017-02-27 44 views
0

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

我想在这里实现的是不会有数百万个请求触及我们的后端API,因为我们已经知道(通过评估参数)我们不想在所有请求上返回响应,但只有百分之几。

我在API网关中设置了一组API请求,响应和后端。

代理服务器完全正常运行,并启动并运行调节等。我希望API网关能够评估请求查询字符串,并根据某些参数的值采取不同的操作?

比方说,完整的URL和查询字符串是:

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

现在取决于参数1,参数2和参数3的值,我可能会想:

  • 将请求转发到我的实际API并将响应返回给客户端。
  • 删除请求或返回一个空的(或模板化)响应与特定的HTTP状态(404,503等 - 确切的价值并不重要)。

这可以通过API网关实现吗?还是需要使用反向代理实际设置主机并让它处理该逻辑?

+0

您是否考虑过使用[API密钥](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-api-keys.html?icmpid=docs_apigateway_console)?任何没有有效的'x-api-key' HTTP头部的请求都会收到一个403 Forbidden状态码。 –

+0

@KhalidT。我们确实可以拥有API密钥,但这不是问题。我们正在向一个元搜索网站发布一个API,这个网站每天都会产生数千次相当昂贵的请求,而且我们知道我们只对有一小部分响应感兴趣。将所有内容转发到我们的后端将压倒我们的服务器。 – Jensd

回答

1

请求参数和模型验证一直是长期以来的功能要求,我们正在积极研究它。当功能启动后,我们会更新此帖,并提供更多详细信息。

更新:请求参数和身体验证,现在可作为四月初的2017年看到this blog post更多细节。

+0

不错,但没有时间我猜? – Jensd

+0

不幸的是:( –