首页 > 解决方案 > 基于每个用户的 aws 使用计划配额

问题描述

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

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

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

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

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

注意

不要提供来自 AWS doc 的任何文章。

如果您可以用简单的示例进行解释,欢迎您,否则不要在答案中发布任何 AWS Doc 链接

标签: amazon-web-servicesaws-api-gateway

解决方案


花了我 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 方法名称为该用户创建 API 密钥CreateApiKey,您不会在 APIGateway2 中找到此方法。
  • 创建 API 密钥后,我们使用此方法分配给我们的使用计划CreateUsagePlanKey
  • 通过这种方式,我们可以为每个用户创建多个 API Key,如何存储和关联它完全取决于您的逻辑

推荐阅读