الوصول إلى خدمة الحصة في Node.js

أنت تعرض مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
info

مقدمة

يوضّح هذا الموضوع كيفية استخدام apigee-access للوصول إلى خدمة حصة Apigee Edge من تطبيق Node.js. باستخدام واجهة برمجة التطبيقات apigee، يمكنك تطبيق قيم الحصة وإعادة ضبطها.

مثال

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 يتضمّن الحقول التالية:

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

(2) الوسيطة الثانية هي دالة استدعاء تتضمّن هاتين الوسيطتين:

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

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

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