यहां Apigee Edge के दस्तावेज़ देखे जा रहे हैं.
पर जाएं
Apigee X दस्तावेज़. info
परिचय
इस विषय में, Node.js ऐप्लिकेशन से Apigee Edge के कोटा
की सेवा को ऐक्सेस करने के लिए, apigee-access का इस्तेमाल करने का तरीका बताया गया है. 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 (स्ट्रिंग, ज़रूरी): कोटा बकेट का यूनीक आइडेंटिफ़ायर. असल में, यह ऐप्लिकेशन आईडी, आईपी पता या उपयोगकर्ता नाम हो सकता है.
- timeUnit (स्ट्रिंग, ज़रूरी): कोटा बकेट, रीसेट होने तक कितने समय के लिए इकट्ठा होगी. मान्य वैल्यू ये हैं: "minute," "hour," "day," "week," और "month."
- allow (नंबर, ज़रूरी): कोटा बकेट के लिए ज़्यादा से ज़्यादा वैल्यू. यह वैल्यू, मौजूदा वैल्यू के साथ मिलकर यह तय करेगी कि कोटा पूरा हुआ है या नहीं.
- interval (नंबर, ज़रूरी नहीं): "timeUnit" के साथ मिलकर यह तय करता है कि कोटा रीसेट होने में कितना समय लगेगा. डिफ़ॉल्ट रूप से यह 1 पर सेट होता है. कोटा को "दो घंटे," "तीन हफ़्ते," वगैरह के तौर पर सेट करने के लिए, इसे ज़्यादा वैल्यू पर सेट करें.
- weight (नंबर, ज़रूरी नहीं): कोटा को बढ़ाने के लिए वैल्यू. डिफ़ॉल्ट रूप से यह 1 पर सेट होता है.
(2) दूसरा आर्ग्युमेंट, कॉलबैक फ़ंक्शन होता है. इसमें ये दो आर्ग्युमेंट शामिल होते हैं:
- पहला आर्ग्युमेंट, Error ऑब्जेक्ट होता है. यह तब मिलता है, जब कोटा को बढ़ाया नहीं जा सकता. अगर ऑपरेशन पूरा हो जाता है, तो यह आर्ग्युमेंट, अनडिफ़ाइंड होता है.
- दूसरा आर्ग्युमेंट, एक ऑब्जेक्ट होता है. इसमें ये फ़ील्ड शामिल होते हैं:
- used (नंबर): कोटा बकेट की मौजूदा वैल्यू.
- allowed (नंबर): कोटा बकेट की ज़्यादा से ज़्यादा वैल्यू. इसके बाद, यह माना जाता है कि कोटा की सीमा पार हो गई है. अनुरोध ऑब्जेक्ट में, "allow" के तौर पर यही वैल्यू पास की गई थी.
- isAllowed (बूलियन): अगर कोटा में जगह बची है, तो वैल्यू 'सही' होती है. यह तब तक 'सही' होती है, जब तक "used" की वैल्यू, "allowed" की वैल्यू से कम या उसके बराबर होती है.
- 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 (स्ट्रिंग, ज़रूरी): कोटा बकेट का यूनीक आइडेंटिफ़ायर. असल में, यह ऐप्लिकेशन आईडी, आईपी पता या उपयोगकर्ता नाम हो सकता है.
- timeUnit (स्ट्रिंग, ज़रूरी): कोटा बकेट, रीसेट होने तक कितने समय के लिए इकट्ठा होगी. मान्य वैल्यू ये हैं: "minute," "hour," "day," "week," और "month."
- interval (नंबर, ज़रूरी नहीं): "timeUnit" के साथ मिलकर यह तय करता है कि कोटा रीसेट होने में कितना समय लगेगा. डिफ़ॉल्ट रूप से यह 1 पर सेट होता है. रीसेट के समय को "दो घंटे," "तीन हफ़्ते," वगैरह के तौर पर सेट करने के लिए, इसे ज़्यादा वैल्यू पर सेट करें.
-
कॉलबैक फ़ंक्शन:
- रीसेट होने में गड़बड़ी होने पर, कॉलबैक, Error ऑब्जेक्ट को पहले पैरामीटर के तौर पर लेता है.
कोटा के इस्तेमाल का बेहतर उदाहरण
कोटा बनाते समय, "options" ऑब्जेक्ट को शामिल किया जा सकता है. यह ज़रूरी नहीं है. इस ऑब्जेक्ट में एक पैरामीटर होता है. यह ज़रूरी नहीं है:- syncInterval (नंबर, ज़रूरी नहीं): यह वह समय है (सेकंड में), जिसके बाद डिस्ट्रिब्यूटेड कोटा लागू करने की सुविधा, नेटवर्क पर अपनी स्थिति सिंक करती है. डिफ़ॉल्ट रूप से यह 10 पर सेट होता है.