在 Node.js 中存取配額服務

查看 Apigee Edge 說明文件。
前往 Apigee X說明文件
資訊

簡介

本主題說明如何使用 apigee-access 存取 Apigee Edge 配額 從 Node.js 應用程式執行 App Engine使用 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);
    });
敬上

方法


套用

修改「配額」物件的設定。你可以使用這個方法增加或減少配額 變更時間間隔或進行其他設定

用量

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」「小時」、「天」、「週」和 「月」。
  • allow (數字,必填):屬性的最大值 配額值區這個值會與目前的值結合,傳回 配額已順利完成。
  • interval (數字,選用):與 「timeUnit」決定配額重設前多久預設值為 1。請調高 這個值來允許配額,例如「兩小時」「三週」依此類推
  • weight (數字,選用):將值設為 做為增加配額的依據預設值為 1。

(2) 第二個引數是包含這兩個參數的回呼函式 引數:

  • 如果配額無法,第一個引數為 Error 物件 遞增或未定義 (如果作業成功)。
  • 其二是包含下列欄位的物件:
    • used (數字):目前 都會產生一個配額值區
    • allowed (數字): 配額上限。傳遞的值與 「允許」物件中。
    • isAllowed (布林值):如果還有房間 在配額中,只要「已使用」和小於或等於「允許」。
    • expiryTime (long):時間戳記,以 毫秒 (自 1970 年格式起算) 的這段時間內,並在重設配額值區時重設。
    • timestamp (長):顯示時間戳記 配額已更新

範例

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'); }
}

重設

如要將配額重設為零,請呼叫 storage.reset()。這個方法使用兩個參數:
  • 包含以下欄位的 JSON 物件:
    • identifier (字串,必要):配額的專屬 ID Cloud Storage 也提供目錄同步處理功能 方便您同步處理 VM 目錄與值區實際上,它可能是應用程式 ID、IP 位址或使用者名稱。
    • timeUnit (字串,必要):配額值區累積的時間長度 直到重設為止有效值為「minute」「小時」、「天」、「週」與「月」有關。
    • interval (數字,選用):與「timeUnit」合併判斷 多久會重設配額預設值為 1。設為較大的值即可允許重設 例如「2 小時」「三週」依此類推
  • 回呼函式:
    • 如果重設失敗,回呼會將 Error 物件做為第一個參數。

進階配額用途

建立配額時,您可以加入 選用「選項」物件。這個物件有一個選用參數:
  • syncInterval (數字,選用):事件回應的秒數 分散式配額實作方式會在整個網路中同步處理其狀態。預設值為 10。
使用這個參數將聯播網分散配額的效能最佳化。保留 請記住,較低的設定會降低效能,並大幅增加 「套用」作業。預設設定為 10 秒,適用於許多應用程式。 間隔可以設為零,表示狀態每次都會同步處理 「套用」方法。在這種情況下,效能會大幅降低。