【问题标题】:Throttling for api gatewayapi网关的节流
【发布时间】:2021-08-24 03:09:57
【问题描述】:

我正在尝试为 api-gateway 启用节流。我在一个阶段创建并部署了我的 api 网关。现在,我跟着 AWS 文档跑了

aws apigateway create-usage-plan \
--name "test" \
--api-stages file://stage.json \ 
--throttle file://base.json

stage.json

[
    {
        "apiId": "my-id",
        "stage": "dev",
        "throttle":{
            "/v1/test/GET": {
                "burstLimit": 50,
                "rateLimit": 200.0
            }
        }
    }
]

base.json

{
    "burstLimit":10,
    "rateLimit":5
}

我看到我得到了 JSON 输出,我还可以看到使用计划下的计划。但是,当我看到阶段下的默认方法限制时,它并没有改变。

【问题讨论】:

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


    【解决方案1】:

    您正在查看阶段级限制。但是您正在为一种特定的资源和方法/v1/test/GET 设置限制。因此,您必须检查该特定路径的节流设置(而不是整个阶段)。

    【讨论】:

    • 上面写着default method throttling。 base.json 也应该是阶段级别的节流?
    • @amyJ 是的,但是您覆盖了/v1/test/GET 的默认设置。您能否为/v1/test/GET 提供更多屏幕截图。您当前的屏幕截图已被裁剪,因此不清楚它的应用位置。
    • 我添加了使用计划的屏幕截图,该屏幕截图与我的 API 相关联。我点击了Configure method throttling -> vi/test/GET 上面添加了端点节流限制。之前添加的屏幕截图也没有被裁剪。这就是我在舞台编辑器中看到的所有内容 [stages->settings]
    • @amyJ 使用计划限制与阶段限制分开。所以我不确定你想要达到什么目的。更改阶段限制、使用计划限制或方法限制?
    • 供参考:docs.aws.amazon.com/apigateway/latest/developerguide/… 明确指出Configuring API-level and stage-level throttling in a usage plan 这就是我所做的。默认方法限制将/应该通过使用计划方法限制覆盖。我认为限制只是每个区域的帐户级别限制。如果可能的话,我也很乐意通过配置文件而不是控制台来更改它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-23
    • 2016-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多