代码之家  ›  专栏  ›  技术社区  ›  hendry

从AWS API密钥获取使用状态

  •  2
  • hendry  · 技术社区  · 7 年前

    我有一个 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
    

    我错过了什么?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Khalid T.    7 年前

    您可以通过以下方式获取“可选”特定API密钥在指定时间间隔内的使用计划的使用数据: usage:get :

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

    返回的 usage 数据表示 每日的 使用计划中API键索引的指定时间间隔内已使用和剩余配额的日志。

    (AWS SDK中也有类似的实现)

    资料来源: Amazon API Gateway REST API Reference