API网关-仅当数字字段超过某个值时才允许通过

时间:2019-07-05 12:35:22

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

我有一个来自表单的简单Webhook,该表单已发送到API Gateway,并且每次都调用一个函数。我们的映射模板非常简单,如下所示:

{
"number" : $input.json('number'),
"url" : $input.json('url')
}

期望的结果

字段number的任何低于90的内容都不会调用Lambda函数,并且在API网关阶段,webhook请求被阻止/完成。

是否可以添加某种过滤器,以便只有超过90的number通过并调用lambda函数?

1 个答案:

答案 0 :(得分:1)

是的,有可能。

为此,您必须启用AWS API Gateway Request Validation并编写自定义验证程序。

您可以通过以下方式验证数字字段:

"number": {
      "type": "number",
      "maximum": 90
}

您可以在此处找到更多信息:

Enable Request Validation in API Gateway

How to remove boilerplate validation logic in your REST APIs with Amazon API Gateway request validation