从 AWS API 密钥获取使用状态

Get usage status from AWS API key

我有一个 AWS serverless API configured with a usage plan。我希望用户能够知道他们可以发出多少请求,这样他们就不会陷入困境:

HTTP/2 429
content-type: application/json
content-length: 28
date: Mon, 16 Apr 2018 03:41:12 GMT
x-amzn-requestid: 02436b06-4128-11e8-aa37-8f617035a300
x-amzn-errortype: LimitExceededException
x-cache: Error from cloudfront
via: 1.1 de2aa82ec56d0a6d749df4bf0a88b28f.cloudfront.net (CloudFront)
x-amz-cf-id: afyULHDbLwJYAJO07zLeFG1Q0tZA-VhB3kezRgE1UBldQdfaGRQaZQ==
{"message":"Limit Exceeded"}

我一直在查看 AWS 文档https://docs.aws.amazon.com/cli/latest/reference/apigateway/index.html#cli-aws-apigateway & https://docs.aws.amazon.com/sdk-for-go/api/service/apigateway/

而且我似乎无法弄清楚如何判断允许 API 密钥发出多少请求!我的目标是查看当前用户的类似 Twitter 的内容:

x-rate-limit-limit: 1500
x-rate-limit-remaining: 1499
x-rate-limit-reset: 1523850782

我错过了什么?

您可以通过usage:get获取"optional"特定API密钥在指定时间间隔内的使用计划的使用数据:

GET /usageplans/<usageplanId>/usage{?keyId,startDate,endDate,limit}

返回的 usage 数据代表 每日 已用和剩余​​配额的日志,在指定的时间间隔内根据使用计划中的 API 键索引.

(类似的实现在 AWS SDK 中可用)

来源:Amazon API Gateway REST API Reference.