Node.js-এ কোটা পরিষেবা অ্যাক্সেস করা

আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশনে যান
তথ্য

ভূমিকা

এই বিষয় ব্যাখ্যা করে যে কিভাবে একটি Node.js অ্যাপ্লিকেশন থেকে Apigee এজ কোটা পরিষেবা অ্যাক্সেস করতে 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 অবজেক্ট:

  • শনাক্তকারী (স্ট্রিং, প্রয়োজনীয়): কোটা বালতির একটি অনন্য শনাক্তকারী। অনুশীলনে এটি একটি অ্যাপ্লিকেশন আইডি, আইপি ঠিকানা বা ব্যবহারকারীর নাম হতে পারে।
  • timeUnit (স্ট্রিং, প্রয়োজনীয়): রিসেট না হওয়া পর্যন্ত কোটা বালতি কতক্ষণ জমা হবে। বৈধ মান হল "মিনিট," "ঘন্টা," "দিন," "সপ্তাহ," এবং "মাস।"
  • অনুমতি দিন (সংখ্যা, প্রয়োজনীয়): কোটা বালতির সর্বোচ্চ মান। কোটা সফল হয়েছে কিনা তা ফেরাতে এই মানটিকে বর্তমান মানের সাথে একত্রিত করা হবে।
  • ব্যবধান (সংখ্যা, ঐচ্ছিক): কোটা রিসেট করার কতক্ষণ আগে নির্ধারণ করতে "টাইম ইউনিট" এর সাথে মিলিত হয়। ডিফল্ট হল 1. কোটা যেমন "দুই ঘন্টা," "তিন সপ্তাহ," এবং আরও অনেক কিছুকে অনুমতি দিতে একটি বড় মান সেট করুন৷
  • ওজন (সংখ্যা, ঐচ্ছিক): কোটা বৃদ্ধি করার মান। ডিফল্ট হল 1।

(2) দ্বিতীয় আর্গুমেন্ট হল এই দুটি আর্গুমেন্ট সহ একটি কলব্যাক ফাংশন:

  • প্রথম আর্গুমেন্ট হল একটি ত্রুটি অবজেক্ট যদি কোটা বৃদ্ধি করা যায় না, অথবা অপারেশন সফল হলে অনির্ধারিত।
  • দ্বিতীয়টি একটি বস্তু যা নিম্নলিখিত ক্ষেত্রগুলি ধারণ করে:
    • ব্যবহৃত (সংখ্যা): কোটা বালতির বর্তমান মান।
    • অনুমোদিত (সংখ্যা): কোটা বালতির সর্বোচ্চ মান কোটা অতিক্রম করার আগে বিবেচনা করা হয়। অনুরোধ অবজেক্টে "অনুমতি দিন" হিসাবে একই মান পাস করা হয়েছিল।
    • isAllowed (বুলিয়ান): যদি কোটায় রুম অবশিষ্ট থাকে -- যতক্ষণ না "ব্যবহৃত" "অনুমোদিত" এর থেকে কম বা সমান হয় ততক্ষণ পর্যন্ত সত্য।
    • expiryTime (দীর্ঘ): 1970 বিন্যাস থেকে মিলিসেকেন্ডে টাইমস্ট্যাম্প, যখন কোটা বালতি পুনরায় সেট করা হবে।
    • টাইমস্ট্যাম্প (দীর্ঘ): যে টাইমস্ট্যাম্পে কোটা আপডেট করা হয়েছিল।

উদাহরণ

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 অবজেক্ট:
    • শনাক্তকারী (স্ট্রিং, প্রয়োজনীয়): কোটা বালতির একটি অনন্য শনাক্তকারী। অনুশীলনে এটি একটি অ্যাপ্লিকেশন আইডি, আইপি ঠিকানা বা ব্যবহারকারীর নাম হতে পারে।
    • timeUnit (স্ট্রিং, প্রয়োজনীয়): রিসেট না হওয়া পর্যন্ত কোটা বালতি কতক্ষণ জমা হবে। বৈধ মান হল "মিনিট," "ঘন্টা," "দিন," "সপ্তাহ," এবং "মাস।"
    • ব্যবধান (সংখ্যা, ঐচ্ছিক): কোটা রিসেট করার কতক্ষণ আগে নির্ধারণ করতে "টাইম ইউনিট" এর সাথে মিলিত হয়। ডিফল্ট হল 1. রিসেট সময় যেমন "দুই ঘন্টা," "তিন সপ্তাহ," এবং আরও অনেক কিছুর জন্য একটি বড় মান সেট করুন৷
  • একটি কলব্যাক ফাংশন:
    • রিসেট ব্যর্থ হলে কলব্যাক প্রথম প্যারামিটার হিসাবে একটি ত্রুটি অবজেক্ট নেয়।

উন্নত কোটা ব্যবহারের ক্ষেত্রে

একটি কোটা তৈরি করার সময়, আপনি একটি ঐচ্ছিক "বিকল্প" বস্তু অন্তর্ভুক্ত করতে পারেন। এই বস্তুর একটি ঐচ্ছিক পরামিতি আছে:
  • syncInterval (সংখ্যা, ঐচ্ছিক): বিতরণ করা কোটা বাস্তবায়ন নেটওয়ার্ক জুড়ে তার অবস্থা সিঙ্ক করে সেকেন্ডের সংখ্যা। ডিফল্ট হল 10।
নেটওয়ার্ক জুড়ে বিতরণ করা কোটার কর্মক্ষমতা অপ্টিমাইজ করতে এই প্যারামিটারটি ব্যবহার করুন। মনে রাখবেন যে একটি নিম্ন সেটিং কর্মক্ষমতা হ্রাস করবে এবং নাটকীয়ভাবে "প্রয়োগ" অপারেশনের লেটেন্সি বাড়িয়ে দেবে। 10 সেকেন্ডের ডিফল্ট সেটিং অনেক অ্যাপ্লিকেশনের জন্য একটি ভাল সেটিং। ব্যবধানটি শূন্যের মতো কম সেট করা হতে পারে, যার অর্থ হল প্রতিবার "প্রয়োগ করুন" বলা হলে রাজ্যটি সিঙ্ক্রোনাইজ হয়। এই ক্ষেত্রে কর্মক্ষমতা অনেক খারাপ হবে।