أنت الآن بصدد الاطّلاع على مستندات Apigee Edge.
انتقِل إلى
مستندات Apigee X. info
مقدمة
يوضّح هذا الموضوع كيفية استخدام 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'); } }
المعلمات
تتلقّى الطريقة apply() مَعلمتَين، وهما عنصر ودالة:
(1) المَعلمة الأولى هي عنصر JSON يتضمّن الحقول التالية:
- identifier (سلسلة، مطلوبة): معرّف فريد لحزمة الحصص. في الواقع، قد يكون معرّف تطبيق أو عنوان IP أو اسم مستخدم.
- timeUnit (سلسلة، مطلوبة): المدة التي سيتم خلالها تجميع حصة الاستخدام إلى أن تتم إعادة ضبطها. القيم الصالحة هي "دقيقة" و"ساعة" و"يوم" و"أسبوع" و"شهر".
- allow (رقم، مطلوب): الحد الأقصى لقيمة حزمة الحصة. سيتم دمج هذه القيمة مع القيمة الحالية لتحديد ما إذا كان الحصص قد تم استيفاؤها.
- interval (رقم، اختياري): يتم دمجه مع "timeUnit" لتحديد المدة التي تسبق إعادة ضبط الحصة. القيمة التلقائية هي 1. اضبط القيمة على قيمة أكبر للسماح بحصص مثل "ساعتان" و"ثلاثة أسابيع" وما إلى ذلك.
- weight (رقم، اختياري): القيمة التي سيتم زيادة الحصة بها. القيمة التلقائية هي 1.
(2) الوسيطة الثانية هي دالة رد اتصال تتضمّن الوسيطتين التاليتين:
- الوسيطة الأولى هي كائن Error إذا تعذّر زيادة الحصة، أو غير محدّدة إذا نجحت العملية.
- العنصر الثاني هو عنصر يحتوي على الحقول التالية:
- used (رقم): القيمة الحالية لحزمة الحصة.
- allowed (رقم): الحد الأقصى لقيمة حزمة الحصة قبل اعتبار الحصة متجاوزة. تم تمرير القيمة نفسها على أنّها "allow" في عنصر الطلب.
- isAllowed (قيمة منطقية): تشير إلى ما إذا كانت هناك مساحة متبقية في الحصة، وتكون القيمة صحيحة ما دام "المستخدَم" أقل من أو يساوي "المسموح به".
- expiryTime (long): الطابع الزمني، بالملّي ثانية منذ عام 1970، عندما تتم إعادة ضبط مجموعة الحصص.
- timestamp (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" لتحديد المدة التي تسبق إعادة ضبط الحصة. القيمة التلقائية هي 1. اضبط القيمة على قيمة أكبر للسماح بإعادة الضبط مرات مثل "ساعتان" و"ثلاثة أسابيع" وما إلى ذلك.
-
دالّة ردّ الاتصال:
- تتلقّى دالة رد الاتصال عنصر Error كالمَعلمة الأولى في حال تعذُّر إعادة الضبط.
حالة استخدام الحصة المتقدّمة
عند إنشاء حصة، يمكنك تضمين عنصر "خيارات" اختياري. يحتوي هذا العنصر على مَعلمة اختيارية واحدة:- syncInterval (رقم، اختياري): عدد الثواني التي تتم فيها مزامنة حالة تنفيذ الحصة الموزّعة على الشبكة. القيمة التلقائية هي 10.