您正在查看 Apigee Edge 說明文件。
參閱 Apigee X說明文件。 資訊
簡介
本主題說明如何使用 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。實際上,這可能會是應用程式 ID、IP 位址或使用者名稱。
- timeUnit (字串,必要):配額值區在重設之前的累計時間。有效值為「minute」、「hour」、「day」、「week」和「month」。
- allow (數字,必要):配額區塊的最大值。系統會將這個值與目前的值結合,以便傳回配額是否成功。
- interval (數字,選用):與「timeUnit」結合,用於決定重設配額的時間長度。預設值為 1。設定為較大的值,即可允許「兩小時」、「三週」等配額。
- weight (數字,選填):用來增加配額的值。預設值為 1。
(2) 第二個引數是具有以下兩個引數的回呼函式:
- 如果配額無法增加,第一個引數會是 Error 物件;如果作業成功,則為 undefined。
- 第二個是包含下列欄位的物件:
- used (數字):配額值區目前的值。
- allowed (數字):超出配額上限的值區上限值。在要求物件中,同一個值會以「allow」的形式傳遞。
- isAllowed (布林值):如果配額中還有空間,只要「已用」小於或等於「允許」,就會設為「是」。
- 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'); } }
重設
如要將配額重設為零,請呼叫 quota.reset()。這個方法會採用兩個參數:-
含有下列欄位的 JSON 物件:
- identifier (字串,必要):配額區塊的專屬 ID。實際上,這可能會是應用程式 ID、IP 位址或使用者名稱。
- timeUnit (字串,必要):配額值區在重設之後會累積多久。有效值為「minute」、「hour」、「day」、「week」和「month」。
- interval (數字,選填):與「timeUnit」結合,用於決定重設配額的時間長度。預設值為 1。設定為較大的值,即可允許重設時間,例如「兩小時」、「三週」等。
-
回呼函式:
- 如果重設失敗,回呼會將 Error 物件做為第一個參數。
進階配額用途
建立配額時,您可以加入選用的「options」物件。這個物件有一個選用參數:- syncInterval (數字,選用):分散式配額實作項目在整個網路中同步處理其狀態的秒數。預設值為 10。