API 网关 - 仅当数字字段超过特定值时才允许直通

API Gateway - Allow passthrough only if number field is over a certain value

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

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

期望的结果

字段 number 的任何低于 90 的值都不会调用 Lambda 函数,并且 Webhook 请求在 API 网关阶段为 blocked/finishes。

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

是的,这是可能的。

为此,您必须启用 AWS API 网关请求验证并编写自定义验证器。

您可以通过这种方式验证 number 字段:

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

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

Enable Request Validation in API Gateway

如何使用 Amazon API 网关请求验证删除 REST API 中的样板验证逻辑