从 API Gateway 实现速率限制标头?

Jon*_*las 5 amazon-web-services aws-api-gateway

我正在使用 AWS API Gateway 实施 API。我正在使用本机 API 密钥和使用计划来限制客户端速率。然而,我想将数据使用信息添加到我的 API 响应中,例如X-RateLimit-RemainingX-RateLimit-Reset标头。

我向 AWS 支持询问是否没有任何本机实现,因为这是(至少在我看来)一个非常常见的要求。那没有。

然后,我研究了如何使用对AWS 使用 API 的一些调用来实现这些标头(即使我不太喜欢为每个请求添加 API 调用开销)。但我需要 API 密钥 ID,而不是 API 密钥值(我的请求中只有一个)。根据这个AWS线程,可能不会有任何通过API键值查找的方法。

这一步我只能想象两种解决方案:

  • 循环遍历所有 API 密钥的列表以找到正确的密钥。但这不会扩大规模。
  • 在我们这边处理速率限制数据(例如使用 Redis 服务器来跟踪所有调用)。但这需要大量工作,并使我们面临不同步的高风险。

您如何在 API 响应中共享数据使用情况?我错过了什么吗?