כרגע מוצג התיעוד של Apigee Edge.
כניסה למסמכי התיעוד של
Apigee X. מידע
מבוא
כאן מוסבר איך משתמשים ב-apigee-access
כדי לגשת לשירות המכסות של Apigee Edge מאפליקציית Node.js. כשמשתמשים בגישה לממשק API, אפשר להחיל את הערכים של המכסות ולאפס אותם.
דוגמה
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); });
שיטות
אישור
שינוי ההגדרות באובייקט מכסה. אפשר להשתמש בשיטה הזו כדי להגדיל או להקטין את המכסה, כדי לשנות את מרווחי הזמן ולקבוע הגדרות נוספות.
Usage
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 (number, required): הערך המקסימלי של קטגוריית המכסה. הערך הזה ישולב עם הערך הנוכחי כדי לציין אם המכסה הצליחה.
- interval (מספר, אופציונלי): בשילוב עם "timeUnit" כדי לקבוע כמה זמן לפני שהמכסה תתאפס. ערך ברירת המחדל הוא 1. צריך להגדיר ערך גבוה יותר כדי לאפשר מכסות כמו "שעתיים", "שלושה שבועות" וכו'.
- weight (מספר, אופציונלי): הערך שלפיו יש להגדיל את המכסה. ברירת המחדל היא 1.
(2) הארגומנט השני הוא פונקציית קריאה חוזרת עם שני הארגומנטים:
- הארגומנט הראשון הוא אובייקט שגיאה אם לא ניתן להגדיל את המכסה, או לבטל את ההגדרה אם הפעולה הצליחה.
- האובייקט השני הוא אובייקט שמכיל את השדות הבאים:
- used (מספר): הערך הנוכחי של קטגוריית המכסה.
- allowed (מספר): הערך המקסימלי של קטגוריית המכסה, לפני חריגה מהמכסה. אותו הערך הועבר כ-"allow" באובייקט הבקשה.
- isAllowed (בוליאני): אם נשאר מקום במכסה – true כל עוד הערך של "used" קטן או שווה ל-'allowed'.
- 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 (מחרוזת, חובה): כמה זמן יצטברו קטגוריית המכסה עד שהיא תאופס. הערכים החוקיים הם 'minute', 'שעה', 'יום', 'שבוע' ו'חודש'.
- interval (מספר, אופציונלי): בשילוב עם "timeUnit" כדי לקבוע כמה זמן לפני שהמכסה תתאפס. ערך ברירת המחדל הוא 1. צריך להגדיר ערך גדול יותר כדי לאפשר זמני איפוס, כמו "שעתיים", "שלושה שבועות" וכו'.
-
פונקציית קריאה חוזרת:
- הקריאה החוזרת (callback) מקבלת אובייקט שגיאה כפרמטר הראשון אם האיפוס נכשל.
תרחיש לדוגמה לשימוש במכסה מתקדמת
כשיוצרים מכסה אפשר לכלול אובייקט "options" אופציונלי. לאובייקט הזה יש פרמטר אופציונלי אחד:- syncInterval (מספר, אופציונלי): מספר השניות שבהן הטמעת המכסה המבוזרת מסנכרנת את המצב שלה ברשת. ברירת המחדל היא 10.