从AWS API密钥获取使用状态

问题描述 投票:1回答:1

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

我错过了什么?

amazon-web-services aws-api-gateway api-key serverless
1个回答
1
投票

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

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

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

(AWS SDK中提供了类似的实现)

资料来源:Amazon API Gateway REST API Reference

© www.soinside.com 2019 - 2024. All rights reserved.