دسترسی به سرویس سهمیه در Node.js

شما در حال مشاهده اسناد Apigee Edge هستید.
به مستندات Apigee X بروید .
اطلاعات

مقدمه

این مبحث نحوه استفاده از apigee-access برای دسترسی به سرویس سهمیه Apigee Edge از برنامه Node.js را توضیح می دهد. با 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);
    });

روش ها


اعمال شود

تنظیمات یک شی Quota را تغییر می دهد. از این روش برای افزایش یا کاهش سهمیه، تغییر فواصل زمانی و انجام تنظیمات دیگر استفاده کنید.

استفاده

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

پارامترها

متد application() دو پارامتر دارد، یک شی و یک تابع:

(1) اولین پارامتر یک شی JSON با این فیلدها است:

  • شناسه (رشته، مورد نیاز): شناسه منحصر به فرد سطل سهمیه. در عمل ممکن است شناسه برنامه، آدرس IP یا نام کاربری باشد.
  • واحد زمان (رشته، مورد نیاز): چه مدت سطل سهمیه جمع می شود تا زمانی که تنظیم مجدد شود. مقادیر معتبر «دقیقه»، «ساعت»، «روز»، «هفته» و «ماه» هستند.
  • مجاز (تعداد، مورد نیاز): حداکثر مقدار برای سطل سهمیه. این مقدار با مقدار فعلی ترکیب می شود تا مشخص شود آیا سهمیه موفق بوده است یا خیر.
  • فاصله (تعداد، اختیاری): ترکیب با "timeUnit" برای تعیین مدت زمان قبل از تنظیم مجدد سهمیه. پیش‌فرض 1 است. مقدار بزرگ‌تری را تنظیم کنید تا سهمیه‌هایی مانند "دو ساعت"، "سه هفته" و غیره مجاز باشد.
  • وزن (تعداد، اختیاری): مقدار برای افزایش سهمیه. پیش فرض 1 است.

(2) آرگومان دوم یک تابع callback با این دو آرگومان است:

  • اگر سهمیه قابل افزایش نباشد، اولین آرگومان یک شی Error است، یا اگر عملیات موفقیت آمیز باشد، تعریف نشده است.
  • دومی یک شی است که شامل فیلدهای زیر است:
    • استفاده شده (تعداد): مقدار فعلی سطل سهمیه.
    • مجاز (تعداد): حداکثر مقدار سطل سهمیه قبل از سهمیه تجاوز شده در نظر گرفته می شود. همان مقدار به عنوان "allow" در شی درخواست ارسال شد.
    • 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 با این فیلدها:
    • شناسه (رشته، مورد نیاز): شناسه منحصر به فرد سطل سهمیه. در عمل ممکن است شناسه برنامه، آدرس IP یا نام کاربری باشد.
    • واحد زمان (رشته، مورد نیاز): چه مدت سطل سهمیه جمع می شود تا زمانی که بازنشانی شود. مقادیر معتبر «دقیقه»، «ساعت»، «روز»، «هفته» و «ماه» هستند.
    • فاصله (تعداد، اختیاری): ترکیب با "timeUnit" برای تعیین مدت زمان قبل از تنظیم مجدد سهمیه. پیش‌فرض 1 است. مقدار بزرگ‌تری را تنظیم کنید تا زمان‌های بازنشانی مانند "دو ساعت"، "سه هفته" و غیره را مجاز کنید.
  • یک تابع تماس مجدد:
    • در صورت عدم موفقیت در تنظیم مجدد، یک شئ Error به عنوان پارامتر اول دریافت می کند.

مورد استفاده از سهمیه پیشرفته

هنگام ایجاد یک سهمیه، می توانید یک شی "گزینه" اختیاری را اضافه کنید. این شی یک پارامتر اختیاری دارد:
  • syncInterval (تعداد، اختیاری): تعداد ثانیه‌هایی که اجرای سهمیه توزیع‌شده حالت خود را در سراسر شبکه همگام می‌کند. پیش فرض 10 است.
از این پارامتر برای بهینه سازی عملکرد سهمیه توزیع شده در سراسر شبکه استفاده کنید. به خاطر داشته باشید که تنظیم کمتر عملکرد را کاهش می دهد و تأخیر عملیات "اعمال" را به طور چشمگیری افزایش می دهد. تنظیم پیش فرض 10 ثانیه برای بسیاری از برنامه ها تنظیم خوبی است. فاصله ممکن است تا صفر تنظیم شود، به این معنی که هر بار که "apply" فراخوانی می شود، حالت هماهنگ می شود. عملکرد در این مورد بسیار بدتر خواهد بود.