您正在查看 Apigee Edge 文档。
转到
Apigee X 文档。 info
简介
本主题介绍如何使用 apigee-access 从 Node.js 应用访问 Apigee Edge 配额
服务。借助 apigee-access,您可以 应用 和
重置 配额值。
示例
var apigee = require('apigee-access'); var quota = apigee.getQuota(); quota.apply({ identifier: 'Foo', allow: 10, timeUnit: 'hour' }, function(err, result) { console.log('Quota applied: %j', result); });
方法
apply
修改配额对象的设置。使用此方法可以增加或减少配额、 更改时间间隔以及进行其他配置。
用法
var apigee = require('apigee-access'); var quota = apigee.getQuota(); quota.apply({parameters}, callback);
示例
var apigee = require('apigee-access'); var quota = apigee.getQuota(); // Apply a quota of 100 requests per hour quota.apply({ identifier: 'Foo', timeUnit: 'hour', allow: 100 }, quotaResult); function quotaResult(err, r) { if (err) { console.error('Quota failed'); } }
参数
apply() 方法接受两个参数:对象和函数:
(1) 第一个参数是具有以下字段的 JSON 对象:
- identifier (字符串,必需):配额存储分区的唯一 标识符。在实践中,它可能是应用 ID、IP 地址或 用户名。
- timeUnit (字符串,必需):配额存储分区在重置之前将累积的时间。有效值包括“minute”“hour”“day”“week”和 “month”。
- allow (数字,必需):配额存储分区的最大值。此值将与当前值结合使用,以返回配额是否成功。
- interval (数字,可选):与 “timeUnit”结合使用,以确定配额重置前的时间。默认值为 1。设置为较大的 值,以允许使用“两小时”“三周”等配额。
- weight (数字,可选):配额的增量值。默认值为 1。
(2) 第二个实参是具有以下两个 实参的回调函数:
- 如果无法增加配额,则第一个实参是 Error 对象 ;如果操作成功,则为 undefined。
- 第二个实参是包含以下字段的对象:
- used (数字):配额存储分区的当前值。
- allowed (数字):配额存储分区的最大值,超过此值后,配额将被视为已超出。请求对象中传递了相同的值作为 “allow”。
- isAllowed (布尔值):配额中是否还有剩余空间 - 只要“used”小于或等于“allowed”,则为 true。
- expiryTime(long):配额存储分区重置时的时间戳,格式为自 1970 年以来的毫秒数。
- timestamp (long):配额更新时的时间戳。
示例
var apigee = require('apigee-access'); var quota = apigee.getQuota(); // Apply a quota of 100 requests per hour quota.apply({ identifier: 'Foo', timeUnit: 'hour', allow: 100 }, quotaResult); // Apply a quota of 500 requests per five minutes quota.apply({ identifier: 'Bar', timeUnit: 'minute', interval: 5, allow: 500 }, quotaResult); // Increment the quota by a value of 10 quota.apply({ identifier: 'Foo', timeUnit: 'hour', allow: 100, weight: 10 }, quotaResult); function quotaResult(err, r) { if (err) { console.error('Quota failed'); } }
reset
如需将配额重置为零,请调用 quota.reset()。此方法接受两个参数:-
具有以下字段的 JSON 对象:
- identifier (字符串,必需):配额 存储分区的唯一标识符。在实践中,它可能是应用 ID、IP 地址或用户名。
- timeUnit (字符串,必需):配额存储分区在重置之前将累积的时间。有效值包括“minute”“hour”“day”“week”和“month”。
- interval (数字,可选):与“timeUnit”结合使用,以确定 配额重置前的时间。默认值为 1。设置为较大的值,以允许使用“两小时”“三周”等重置 时间。
-
回调函数:
- 如果重置失败,回调会将 Error 对象作为第一个参数。
高级配额用例
创建配额时,您可以添加 可选的“options”对象。此对象有一个可选参数:- syncInterval (数字,可选):分布式配额实现跨网络同步其状态的秒数。默认值为 10。