Amazon web services 如何根据其他变量有效地统计对API和Lambda函数的请求?

Amazon web services 如何根据其他变量有效地统计对API和Lambda函数的请求?,amazon-web-services,aws-lambda,aws-api-gateway,Amazon Web Services,Aws Lambda,Aws Api Gateway,我正在AWS上构建一个服务,该服务将在API网关后面的几个Lambda函数上运行。API网关将使用Lambda授权人验证API请求是否可以通过。我需要一种基于请求的一些参数(两个标识符)跟踪请求数量的方法 要做到这一点,我需要针对某个键以低成本、高效和可靠的方式增加计数。什么是合适的解决方案 已考虑的选项 我可以使用DynamoDB或SQL,但我不认为读取条目的值然后主要增加它的值是特别有效或可靠的 我也考虑过使用内置的API键函数,但这仅限于500个键,最多只能增加到10k,这可能不够 Red

我正在AWS上构建一个服务,该服务将在API网关后面的几个Lambda函数上运行。API网关将使用Lambda授权人验证API请求是否可以通过。我需要一种基于请求的一些参数(两个标识符)跟踪请求数量的方法

要做到这一点,我需要针对某个键以低成本、高效和可靠的方式增加计数。什么是合适的解决方案

已考虑的选项

  • 我可以使用DynamoDB或SQL,但我不认为读取条目的值然后主要增加它的值是特别有效或可靠的
  • 我也考虑过使用内置的API键函数,但这仅限于500个键,最多只能增加到10k,这可能不够
  • Redis或Memcached似乎是一种选择,尽管我没有这方面的经验,所以我不确定——我也更喜欢起点较低的东西
  • 更多具体细节


    我计划提供一个API,并为每个调用它的客户端每月收取X百个请求的费用。一个用户可能有多个客户端,因此Bob可能有10个客户端,每个客户端每月有400个请求。当其中一个客户超过400个请求时,我会阻止访问,直到他们添加更多的信用。

    很明显,我之前没有搜索到正确的内容

    DynamoDB支持在不影响正在更新的任何其他属性的情况下增加字段

    Redis看起来也是一个具有更高速度的好选择,并且对于用例来说可能更便宜,因为假设集群保持相当小,事务量会增加。不利的一面是,如果集群崩溃,与Redis相关的耐久性风险