【问题标题】:aws usage plan quota based on per user基于每个用户的 aws 使用计划配额
【发布时间】:2024-04-23 11:00:02
【问题描述】:

我想要实现的是在使用计划配额的帮助下,我想限制用户 API 命中。

例如:- API 的使用计划配额为每天 5 个请求。

  1. User1 - 访问 API 超过 5 次,然后它给他的限制超出了错误
  2. User2 - 访问 API 超过 5 次且相同。

我无法实现这种行为,我可以限制所有用户的 API 请求,而不是特定用户。

试图搜索网络无法找到任何文章。欢迎使用另一种方式来完成上述任务。

注意

请勿提供 AWS 文档中的任何文章。

如果你能用简单的例子解释一下,欢迎你,否则不要在答案中发布任何 AWS Doc 链接

【问题讨论】:

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


    【解决方案1】:

    花了我 2 天的时间后,我与 AWS 一起为上述答案学到了很多东西

    1. 您不能不同意某个知名人士发布的答案,因为如果您这样做,那么您的问题的价值就会像 2 一样低,然后变成 1,人们投票结束这个问题,不幸的是,这件事同样发生问题,吸取了人生教训,并开始怀疑堆栈溢出声誉的可信度。

    2. 因此,如果您是像我这样的初学者,其 AWS 启动阶段由 API 网关和 dynamodb 组成,想通知您,您在 AWS 管理面板中看到的几乎每个按钮,例如创建使用计划、创建 API 密钥、将 API 密钥与您的计划所有这些事情都可以通过 AWS SDK 和 AWS CLI 完成。

    3. AWS SDK 不仅用于编写查询以从 dynamodb 中提取数据或从 AWS S3 中读取文件。

    4. 上述场景的解决方案 -

    • 创建用户时,我们使用 AWS APIGateway SDK 方法名称 CreateApiKey 创建特定于该用户的 API 密钥,您不会在 APIGateway2 中找到此方法。
    • 创建 API 密钥后,我们使用此方法分配给我们的使用计划 CreateUsagePlanKey
    • 通过这种方式,我们可以为每个用户创建多个 API Key,如何存储和关联它完全取决于您的逻辑

    【讨论】:

      【解决方案2】:

      您可以将 AWS API Gateway 与 API 密钥结合使用来实施节流、配额限制和使用计划。查看 AWS 文档中的 Creating and using usage plans with API keys

      【讨论】:

      • 如果您想使用原生 API 网关功能,这绝对是您的选择。
      • @DennisTraub 你能更详细地解释一下吗,或者提供一个例子..我已经阅读了那篇文章,但我可能无法完全理解它,因为我刚刚开始使用 AWS 并在后端工作服务。任何帮助都会很棒
      • 这不仅仅是@DennisTraub,任何人都可以解释我
      • 您是否遵循了该文章中引用的指南?究竟是什么不工作?
      • @DennisTraub Ya 那篇文章不过是创建和使用使用计划的基本内容。看来您还没有理解我的问题,第二件事是停止发布 AWS Doc,如果您无法解释那很好,因为人们来到 * 是为了获得对该问题和技术知识的正确解释,而不是阅读他们已经阅读过的文档还是一头雾水。
      最近更新 更多