আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন দেখুন। তথ্য
ভূমিকা
এই বিষয়ে ব্যাখ্যা করা হয়েছে যে কীভাবে 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() পদ্ধতিতে দুটি প্যারামিটার, একটি অবজেক্ট ও একটি ফাংশন থাকে:
(১) প্রথম প্যারামিটারটি হল এইসব ফিল্ড সহ একটি JSON অবজেক্ট:
- identifier (স্ট্রিং, প্রয়োজনীয়): কোটা বাকেটের অনন্য শনাক্তকারী। বাস্তবে এটি কোনও অ্যাপ্লিকেশন আইডি, IP অ্যাড্রেস বা ইউজারনেম হতে পারে।
- timeUnit (স্ট্রিং, প্রয়োজনীয়): কোটা বাকেট রিসেট না হওয়া পর্যন্ত কতক্ষণ ধরে জমা হবে। সঠিক ভ্যালু হল "মিনিট," "ঘণ্টা," "দিন," "সপ্তাহ" এবং "মাস"।
- allow (সংখ্যা, প্রয়োজনীয়): কোটা বাকেটের সর্বোচ্চ ভ্যালু। কোটা সম্পূর্ণ হয়েছে কিনা তা রিটার্ন করার জন্য এই ভ্যালু বর্তমান ভ্যালুর সাথে একত্রিত করা হবে।
- interval (সংখ্যা, ঐচ্ছিক): কোটা রিসেট হওয়ার আগে কতক্ষণ বাকি আছে তা নির্ধারণ করতে "timeUnit"-এর সাথে একত্রিত করা হয়। ডিফল্ট মান হল ১। "দুই ঘণ্টা", "তিন সপ্তাহ" ইত্যাদি কোটা অনুমতি দিতে আরও বড় ভ্যালুতে সেট করুন।
- weight (সংখ্যা, ঐচ্ছিক): কোটা যে ভ্যালু দ্বারা বাড়ানো হবে। ডিফল্ট মান হল ১।
(২) দ্বিতীয় আর্গুমেন্ট হল এই দুটি আর্গুমেন্ট সহ একটি কলব্যাক ফাংশন:
- কোটা ইনক্রিমেন্ট করা না গেলে প্রথম আর্গুমেন্টটি হল একটি Error অবজেক্ট অথবা অপারেশন সফল হলে সেটি হল undefined।
- দ্বিতীয়টি হল এমন একটি অবজেক্ট যাতে নিম্নলিখিত ফিল্ড আছে:
- used (number): কোটা বাকেটের বর্তমান ভ্যালু।
- অনুমোদিত (সংখ্যা): কোটা শেষ হয়ে গেছে বলে বিবেচনা করার আগে কোটা বাকেটের সর্বোচ্চ ভ্যালু। অনুরোধ অবজেক্টে একই ভ্যালু "অনুমতি দিন" হিসেবে পাস করা হয়েছে।
- isAllowed (boolean): কোটায় জায়গা থাকলে -- "allowed"-এর থেকে "used" কম বা সমান হলে true হবে।
- expiryTime (long): কোটা বাকেট রিসেট হওয়ার সময়কার টাইমস্ট্যাম্প, যা ১৯৭০ থেকে মিলিসেকেন্ড ফর্ম্যাটে থাকে।
- টাইমস্ট্যাম্প (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 (স্ট্রিং, প্রয়োজনীয়): কোটা বাকেটের অনন্য শনাক্তকারী। বাস্তবে এটি কোনও অ্যাপ্লিকেশন আইডি, IP অ্যাড্রেস বা ইউজারনেম হতে পারে।
- timeUnit (স্ট্রিং, প্রয়োজনীয়): কোটা বাকেট কতক্ষণ ধরে জমা হবে যতক্ষণ না এটি রিসেট করা হয়। সঠিক ভ্যালু হল "মিনিট," "ঘণ্টা," "দিন," "সপ্তাহ" ও "মাস"।
- interval (সংখ্যা, ঐচ্ছিক): কোটা রিসেট হওয়ার আগে কতক্ষণ বাকি আছে তা নির্ধারণ করতে "timeUnit"-এর সাথে একত্রিত করা হয়। ডিফল্ট মান হল ১। "দুই ঘণ্টা", "তিন সপ্তাহ" ইত্যাদি রিসেট করার সময়কে অনুমতি দিতে আরও বড় ভ্যালুতে সেট করুন।
-
কলব্যাক ফাংশন:
- রিসেট করা না গেলে, কলব্যাক প্রথম প্যারামিটার হিসেবে একটি Error অবজেক্ট নেয়।
উন্নত কোটা ব্যবহারের উদাহরণ
কোটা তৈরি করার সময়, আপনি ঐচ্ছিক "বিকল্প" অবজেক্ট যোগ করতে পারবেন। এই অবজেক্টে একটি ঐচ্ছিক প্যারামিটার আছে:- syncInterval (সংখ্যা, ঐচ্ছিক): ডিস্ট্রিবিউট করা কোটা প্রয়োগ করার জন্য নেটওয়ার্ক জুড়ে এর স্টেট সিঙ্ক করার জন্য সেকেন্ডের সংখ্যা। ডিফল্ট মান হল ১০।