基于每个用户的AWS使用计划配额

时间:2020-07-06 19:08:58

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

我要实现的目标是借助使用计划配额,我想限制用户API的访问量。

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

  1. User1-击中API超过5次,然后它的限制超出了错误
  2. User2-多次点击API超过5次。

我无法实现此行为,我可以将API请求限制为非特定用户的所有用户。

试图在网络上搜索找不到任何文章。欢迎完成上述任务的另一种方法。

注意

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

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

2 个答案:

答案 0 :(得分:0)

您可以结合使用AWS Key Gateway和API密钥来实现限制,配额限制和使用计划。看看AWS文档中的Creating and using usage plans with API keys

答案 1 :(得分:0)

花了我两天的时间之后,我在AWS上学到了很多关于以上答案的东西

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

  2. 因此,如果您是像我这样的初学者,其AWS起始阶段由API网关和dynamodb组成,则想通知您,您在AWS管理面板中看到的几乎每个按钮,例如创建使用计划,创建API密钥,关联计划中的API密钥可通过AWS开发工具包和AWS CLI完成所有这些操作。

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

  4. 上述情况的解决方案-

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