מוצג המסמך של Apigee Edge.
עוברים אל
מסמכי תיעוד של Apigee X. מידע
מבוא
בנושא הזה מוסבר איך להשתמש ב-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); });
שיטות
אישור
שינוי ההגדרות באובייקט 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 (מחרוזת, חובה): כמה זמן מכסה יצטברו עד שהקטגוריה תאופס. הערכים החוקיים הם 'minute', "hour," "יום", "week", וגם "month"
- allow (מספר, חובה): הערך המקסימלי עבור את קטגוריית המכסה. הערך הזה ישולב עם הערך הנוכחי כדי להחזיר בין אם הגעת למכסה.
- interval (מספר, אופציונלי): בשילוב עם הפונקציה 'timeUnit' כדי לבדוק כמה זמן לפני שהמכסה תתאפס. ערך ברירת המחדל הוא 1. הגדרה לערך גדול יותר כדי לאפשר מכסות כמו "שעתיים", "Three weeks", וכן הלאה.
- weight (מספר, אופציונלי): הערך של הפרמטר להגדיל את המכסה ב-. ברירת המחדל היא 1.
(2) הארגומנט השני הוא פונקציית קריאה חוזרת עם שני הערכים האלה ארגומנטים:
- הארגומנט הראשון הוא אובייקט Error אם המכסה לא יכולה תחודש או לא מוגדרת אם הפעולה הצליחה.
- האובייקט השני הוא אובייקט שמכיל את השדות הבאים:
- used (מספר): הערך הנוכחי של בקטגוריית מכסה.
- allowed (מספר): הערך המקסימלי של לפני שהמכסה נחשבת כחריגה. אותו ערך הועבר כמו 'allow' באובייקט הבקשה.
- isAllowed (בוליאני): אם נשאר מקום במכסה – נכון כל עוד "used" פחות מ-"מותר" או שווה לו.
- expiryTime (long): חותמת הזמן, in באלפיות השנייה מאז פורמט 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'); } }
איפוס
כדי לאפס את המכסה, קוראים לפונקציה cases.reset(). השיטה הזו כוללת שני פרמטרים:-
אובייקט JSON עם השדות הבאים:
- identifier (מחרוזת, חובה): מזהה ייחודי של המכסה בקטגוריה שלכם. בפועל, המזהה יכול להיות מזהה אפליקציה, כתובת IP או שם משתמש.
- timeUnit (מחרוזת, חובה): משך הזמן שקטגוריית המכסה תצבור עד שהוא יאופס. הערכים החוקיים הם 'minute', "hour," "יום", "week", ו'חודש'.
- interval (מספר, אופציונלי): בשילוב עם 'timeUnit' כדי לקבוע כמה זמן לפני שהמכסה תתאפס. ערך ברירת המחדל הוא 1. צריך להגדיר ערך גדול יותר כדי לאפשר איפוס למשל "שעתיים", "Three weeks", וכן הלאה.
-
פונקציית קריאה חוזרת:
- הקריאה החוזרת מקבלת את אובייקט Error כפרמטר הראשון אם האיפוס נכשל.
תרחיש לדוגמה לשימוש מתקדם במכסה
כשיוצרים מכסה, אפשר לכלול אותה אפשרות "options" לאובייקט. האובייקט הזה מכיל פרמטר אופציונלי אחד:- syncInterval (מספר, אופציונלי): מספר השניות הטמעת מכסה מבוזרת מסנכרנת את המצב שלה ברשת. ערך ברירת המחדל הוא 10.