gpt4 book ai didi

amazon-web-services - AWS API Gateway - 基于分钟而不是秒限制请求。

转载 作者:行者123 更新时间:2023-12-04 01:52:25 44 4
gpt4 key购买 nike

我想知道是否有人设法解决了这个问题;

  • 我可以确认 AWS 已经确认这不是当前的功能,并且不太可能出现在任何近期的路线图中。

  • AWS API Gateway 有当前 Method Throttling允许您将所有方法请求限制为的功能;
  • 每秒 X 个请求 .

  • 我想找到一种方法来限制 上的请求每 Y 分钟 X 个请求 .

    换句话说,作为一个例子;

    我希望我的方法每 5 分钟可访问一次。

    我已经知道的事情,而不是一个选项:
  • 我们可以通过基础设施来做到这一点
  • 我们可以通过请求操作来做到这一点(添加自定义 header )
  • 我们可以使用使用计划,将 API Keys 放入其中并为其分配使用计划(无意义)

  • 所以,理想情况下 - 我们想要这样的东西:

    enter image description here

    有没有人有办法完成这样的事情?

    还是一厢情愿的想法,我需要在 AWS 上继续等待?

    最佳答案

    我认为您可能会在 API 网关上启用缓存并将 TTL 设置为 600(5 分钟)。然后,用户可以在给定的配额内根据需要多次访问您的 API,但他们实际上无法在 5 分钟内请求新数据,因为 TTL 需要先到期。这是假设您的方法是 GET 方法 - 如果不是,也许您可​​以将其更改为 GET ?

    如果这不适合您的需求,不幸的是,您将需要将此逻辑推给您来管理,正如您在问题中所述。实际上,您想要做的事情非常罕见(我并不是说它无效),但是限制用户只能每 5 分钟发出一次请求是非常缓慢的,而且可能非常罕见。更常见的情况是,一个值可用于许多请求,但仅使用 TTL 方法每隔几分钟更新一次。

    请记住,节流的目的是保护您的服务免受过多负载或 DDos 攻击等。如果您的应用程序部分具有工作流 业务逻辑要求用户最多每 5 分钟执行一次操作,这应该放在应用程序的工作流管理区域中,例如在 BPM - 业务流程管理器中,或者如果您想使用 AWS,则可以使用 SWF 或 Step Functions。原因是至少 IMO 不应该将业务逻辑放入您的基础设施中。

    关于amazon-web-services - AWS API Gateway - 基于分钟而不是秒限制请求。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52361582/

    44 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com