الوصول إلى خدمة الحصة في 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);
    });

الطُرق


تطبيق

لتعديل الإعدادات في عنصر الحصة. استخدِم هذه الطريقة لزيادة الحصة أو إنقاصها، وتغيير الفواصل الزمنية وإجراء عمليات تهيئة أخرى.

الاستخدام

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 (سلسلة، مطلوبة): معرّف فريد معرّف حزمة الحصة. من الناحية العملية، قد يكون معرّف التطبيق أو عنوان IP أو اسم المستخدم.
  • timeUnit (سلسلة، مطلوبة): مدة الحصة حتى يتم إعادة ضبط الحزمة. القيم الصالحة هي "minute"، و"الساعة" "اليوم" "أسبوع" أو "الشهر".
  • allow (رقم، مطلوب): القيمة القصوى مقدار الحصة. سيتم جمع هذه القيمة مع القيمة الحالية لعرض ما إذا كان تم تحميل الحصة بنجاح.
  • الفاصل الزمني (رقم، اختياري): يتم دمجها مع "timeUnit" لتحديد المدة قبل إعادة ضبط الحصة. القيمة التلقائية هي 1. ضبط على حجم أكبر للسماح بحصص محدّدة، مثل "ساعتان" "ثلاثة أسابيع" وهكذا
  • weight (رقم، اختياري): القيمة تزيد الحصة بمقدار. القيمة التلقائية هي 1.

(2) الوسيطة الثانية عبارة عن دالة رد اتصال بهاتين الوسيطات:

  • الوسيطة الأولى هي كائن خطأ إذا لم تكن الحصة أو غير محددة إذا نجحت العملية.
  • والنوع الثاني هو كائن يحتوي على الحقول التالية:
    • used (رقم): القيمة الحالية حزمة الحصة.
    • allowed (رقم): القيمة القصوى مقدار الحصة قبل أن يتم اعتبار الحصة قد تم تجاوزها. تم تمرير القيمة نفسها "السماح" في كائن الطلب.
    • isAllowed (منطقي): إذا كان هناك متسع في الحصة -- صحيح ما دامت "المستخدمة" أقل من أو يساوي "مسموح به".
    • expiryTime (طويل): الطابع الزمني، بتنسيق بالملي ثانية منذ تنسيق 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'); }
}

إعادة الضبط

لإعادة ضبط الحصة إلى صفر، اتصل segmentation.reset(). تستخدم هذه الطريقة مَعلمتَين:
  • كائن JSON يتضمّن الحقول التالية:
    • identifier (سلسلة، مطلوبة): معرّف فريد للحصة دُلو. من الناحية العملية، قد يكون رقم تعريف التطبيق أو عنوان IP أو اسم مستخدم.
    • timeUnit (سلسلة، مطلوبة): المدة التي سيتم خلالها تجميع حزمة الحصة حتى إذا تمت إعادة تعيينها. القيم الصالحة هي "minute"، و"الساعة" "اليوم" "أسبوع" و "الشهر".
    • الفاصل الزمني (رقم، اختياري): يتم دمجها مع "الوحدة الزمنية" لتحديد المدة قبل إعادة ضبط الحصة. القيمة التلقائية هي 1. يجب ضبط القيمة على قيمة أكبر للسماح بإعادة الضبط. مرات مثل "ساعتان"، "ثلاثة أسابيع" وهكذا
  • دالة معاودة الاتصال:
    • تتعامل عملية الاستدعاء مع كائن "خطأ" كمَعلمة أولى في حال تعذُّر إعادة الضبط.

حالة استخدام الحصة المتقدّمة

عند إنشاء حصة، يمكنك تضمين "خيارات" اختيارية الخاص بك. يحتوي هذا الكائن على معلمة اختيارية واحدة:
  • syncInterval (رقم، اختياري): عدد الثواني التي يؤدي تنفيذ الحصة الموزعة إلى مزامنة حالته عبر الشبكة. والعدد التلقائي هو 10.
استخدِم هذه المَعلمة لتحسين أداء الحصة الموزعة على الشبكة. عدم الحذف إلا أن الإعداد الأدنى سيؤدي إلى خفض مستوى الأداء وزيادة وقت استجابة "تطبيق" العملية. الإعداد الافتراضي وهو 10 ثوانٍ هو إعداد جيد للعديد من التطبيقات. يمكن ضبط الفاصل الزمني على قيمة منخفضة تصل إلى صفر، وهذا يعني أنّه تتم مزامنة الحالة في كل مرة. "تطبيق" البيانات. سيكون الأداء أسوأ بكثير في هذه الحالة.