מדיניות ResetQuota

מדיניות ניתנת להרחבה

הדף הזה רלוונטי ל-Apigee ול-Apigee Hybrid.

לעיון במסמכי התיעוד של Apigee Edge

משתמשים במדיניות ResetQuota כדי לשנות באופן דינמי את מספר הבקשות שנותרו שמותרות על ידי מדיניות הקצאה (Quota) של היעד. בדרך כלל משתמשים במדיניות הזו כדי להקטין את מספר המכסות הנוכחי של מדיניות המכסות של היעד, במקום לחכות לאיפוס של מספר המכסות.

לדוגמה, מדיניות המכסה של היעד מגבילה מפתח ל-1,000 בקשות בשבוע. ביום השני של השבוע, המפתח כבר הגיע למגבלה הזו. אפשר להשתמש במדיניות Reset Quota כדי להפחית 500 מהמונה של המכסה, וכך לאפשר עוד 500 בקשות למשך שאר השבוע. בסוף השבוע, מדיניות המכסה מתאפסת והמפתח יכול לשלוח שוב 1,000 בקשות בשבוע.

המדיניות הזו היא מדיניות שניתנת להרחבה, והשימוש בה עשוי להשפיע על העלויות או על הניצול, בהתאם לרישיון שלכם ל-Apigee. למידע על סוגי מדיניות והשלכות השימוש, אפשר לעיין במאמר בנושא סוגי מדיניות.

מידע נוסף על מדיניות המכסות זמין במדיניות בנושא מכסות. אפשר לעיין גם בפוסט הזה בקהילה בנושא שימוש במדיניות Reset Quota.

דוגמאות

בדוגמאות הקוד הבאות של מדיניות אפשר לראות איך לאפס את מוני המכסות:

איפוס מונה ברירת המחדל

<ResetQuota name="resetQuota">
   <Quota name="MyQuotaPolicy">
      <Identifier name="_default">
         <Allow>100</Allow>
      </Identifier>
   </Quota>
</ResetQuota>

מדיניות Reset Quota (איפוס מכסת השימוש) מציינת את מדיניות מכסת השימוש שאליה היא מכוונת באמצעות המאפיין name של התג <Quota>. בדוגמה שלמעלה, המדיניות MyQuotaPolicy היא היעד.

כל כללי המדיניות של איפוס מכסת השימוש מחייבים שימוש בתג <Identifier> כדי לציין את המונה במדיניות מכסת השימוש שרוצים לעדכן. כברירת מחדל, למדיניות מכסת שימוש יש מונה יחיד, אלא אם מדיניות מכסת השימוש כוללת גם את התג <Identifier>. בדוגמה הזו, מדיניות הקצאה ליעד לא משתמשת בתג <Identifier>, ולכן מציינים את מאפיין name בתור _default.

רכיב <Allow> מציין את הערך שמשמש להפחתת מספר המכסות הנוכחי במדיניות היעד. בדוגמה הזו, מספר המכסות מופחת ב-100, כדי לאפשר עוד 100 בקשות למדיניות היעד של המכסות. כשהמדיניות של מכסת היעד מתאפסת, השינוי הזה נמחק.

ההגדרה של מדיניות היעד בנושא מכסות מוצגת בהמשך:

<Quota name="MyQuotaPolicy">
  <Interval>5</Interval>
  <TimeUnit>hour</TimeUnit>
  <Allow count="100"/>
</Quota>

שימוש בחומרי עזר

<ResetQuota name="resetQuota">
   <Quota ref="request.header.quotapolicy">
      <Identifier name="_default">
         <Allow ref="request.header.allowquota" />
      </Identifier>
   </Quota>
</ResetQuota>

בדוגמה הזו, מעבירים את השם של מדיניות המכסות של היעד ואת השינוי בספירת המכסות שלה ככותרות בבקשה. אחר כך תוכלו להפנות למשתני הזרימה שמכילים את הערכים האלה במדיניות Reset Quota.

ציון המזהה

<ResetQuota name="resetQuota">
   <Quota name="QuotaPolicy">
      <Identifier ref="request.header.clientId">
         <Allow>100</Allow>
      </Identifier>
   </Quota>
</ResetQuota>

אם מדיניות היעד של המכסה מציינת את התג <Identifier>, אפשר לציין את אותו ערך בתג <Identifier> של מדיניות איפוס המכסה כדי לעדכן ספירת מכסה ספציפית. שימו לב שהתג <Identifier> במדיניות היעד Quota שלמטה תואם לערך שצוין במדיניות Reset Quota:

<Quota name="QuotaPolicy">
  <Identifier ref="request.header.clientId"/>
  <Interval>5</Interval>
  <TimeUnit>hour</TimeUnit>
  <Allow count="100"/>
</Quota>

הפניה לרכיב

הפניה לרכיב מתארת את הרכיבים והמאפיינים של מדיניות Reset Quota.

<ResetQuota async="false" continueOnError="false" enabled="true" name="Reset-Quota-1">
   <DisplayName>Reset Quota 1</DisplayName>
   <Quota name="quotaName" ref="request.header.quotapolicy">
      <Identifier name="identifierName" ref="request.header.identifier">
         <Class ref="request.header.classIdentifier" />
         <Allow>100</Allow>
      </Identifier>
   </Quota>
</ResetQuota>

מאפיינים של <ResetQuota>

<ResetQuota async="false" continueOnError="false" enabled="true" name="Reset-Quota-1">

בטבלה הבאה מתוארים מאפיינים שמשותפים לכל רכיבי ההורה של המדיניות:

מאפיין תיאור ברירת מחדל נוכחות
name

השם הפנימי של המדיניות. הערך של מאפיין name יכול להכיל אותיות, מספרים, רווחים, מקפים, קווים תחתונים ונקודות. הערך הזה לא יכול לחרוג מ-255 תווים.

אפשר להשתמש ברכיב <DisplayName> כדי לתת למדיניות תווית בשם אחר בשפה טבעית בכלי לעריכת פרוקסי בממשק הניהול.

לא רלוונטי חובה
continueOnError

מגדירים את הערך false כדי להחזיר שגיאה אם המדיניות נכשלת. זו התנהגות צפויה ברוב המדיניות.

הגדרה ל-true מאפשרת להמשיך את הביצוע של התהליך גם אחרי שמדיניות נכשלת. מידע נוסף:

FALSE אופציונלי
enabled

מגדירים את המדיניות למצב true כדי לאכוף אותה.

מגדירים את הערך false כדי להשבית את המדיניות. המדיניות לא תיאכף גם אם היא תישאר מצורפת לזרימה.

TRUE אופציונלי
async

המאפיין הזה הוצא משימוש.

FALSE הוצא משימוש

אלמנט <DisplayName>

משתמשים בו בנוסף למאפיין name כדי לתת למדיניות שם אחר בשפה טבעית, לסימון המדיניות בכלי לעריכת פרוקסי בממשק המשתמש לניהול.

<DisplayName>Policy Display Name</DisplayName>
ברירת מחדל

לא רלוונטי

אם לא מציינים את הרכיב הזה, המערכת משתמשת בערך של המאפיין name של המדיניות.

נוכחות אופציונלי
סוג String

אלמנט <Quota>

מזהה את מדיניות המכסות של היעד שהמונה שלה צריך להתעדכן.

<Quota name="quotaName"  ref="request.header.quotapolicy">
   <Identifier name="identifierName" ref="request.header.identifier">
      <Allow>100</Allow>
   </Identifier>
</Quota>
ברירת מחדל: לא רלוונטי
נוכחות: חובה
סוג: לא רלוונטי

מאפיינים

מאפיין תיאור ברירת מחדל נוכחות
name

מציינים את השם של מדיניות המכסות של היעד.

לא רלוונטי אופציונלי
ref משתנה של זרימת נתונים שמכיל את השם של מדיניות המכסות של היעד. אם מציינים גם את ref וגם את name, העדיפות היא ל-ref. אם ref לא נפתר בזמן הריצה, נעשה שימוש ב-name. לא רלוונטי אופציונלי

אלמנט <Quota>/<Identifier>

משתנה שמשמש לזיהוי ייחודי של המונה אם מדיניות המכסה של היעד מציינת את התג <Identifier>.

<Quota name="quotaName">
   <Identifier name="identifierName" ref="request.header.identifier">
      <Allow>100</Allow>
   </Identifier>
</Quota>
ברירת מחדל: לא רלוונטי
נוכחות: חובה
סוג: String

מאפיינים

מאפיין תיאור ברירת מחדל נוכחות
name

מציין את השם של מזהה הספירה במדיניות המכסה של היעד. אם מדיניות מכסת השימוש לא משתמשת בתג <Identifier>, צריך לציין _default.

לא רלוונטי אופציונלי
ref

משתנה של זרימת נתונים שמכיל את השם של מזהה הספירה במדיניות היעד בנושא מכסות. אם מציינים גם ref וגם name, המערכת נותנת עדיפות ל-ref. אם לא ניתן לפתור את ref בזמן הריצה, המערכת משתמשת ב-name.

לא רלוונטי אופציונלי

אלמנט <Quota>/<Identifier>/<Allow>

מציינים את הסכום להפחתה של מונה המכסה. חובה לציין <Allow>, אחרת המדיניות לא תשנה את המכסה.

<Identifier name="identifierName" ref="request.header.identifier">
   <Allow ref="request.header.allowquota">100</Allow>
</Identifier>
ברירת מחדל: לא רלוונטי
נוכחות: חובה
סוג: מספר שלם

מאפיינים

מאפיין תיאור ברירת מחדל נוכחות
ref

משתנה של זרימת עבודה שמכיל את השינוי בספירת המכסות במדיניות המכסות של היעד.

לא רלוונטי אופציונלי

אלמנט <Quota>/<Identifier>/<Class>

מציינת את הכיתה שעבורה מונה המכסה מתעדכן. מידע נוסף על שימוש במחלקות עם מדיניות המכסות זמין במאמר מדיניות מכסות.

<Identifier name="_default">
   <Class ref="request.header.classIdentifier">
     <Allow>200</Allow>
   </Class>
</Identifier>
ברירת מחדל: לא רלוונטי
נוכחות: אופציונלי
סוג: לא רלוונטי

מאפיינים

מאפיין תיאור ברירת מחדל נוכחות
ref

הפניה למשתנה של זרימת העבודה שמכיל את סוג המכסה שרוצים לעדכן.

לא רלוונטי אופציונלי

הפניה לשגיאה

בקטע הזה מתוארים קודי התקלה והודעות השגיאה שמוחזרים, ומשתני התקלה שמוגדרים על ידי Apigee כשמדיניות כזו מפעילה שגיאה. חשוב לדעת את המידע הזה אם אתם מפתחים כללי תקלות לטיפול בתקלות. מידע נוסף על שגיאות שקשורות למדיניות ועל טיפול בשגיאות

שגיאות זמן ריצה

השגיאות האלה יכולות להתרחש כשהמדיניות מופעלת.

קוד תקלה סטטוס HTTP מטרה תיקון
policies.resetquota.InvalidRLPolicy 500 המדיניות Quota שצוינה ברכיב <Quota> של המדיניות ResetQuota לא מוגדרת ב-proxy ל-API, ולכן היא לא זמינה במהלך התהליך. הרכיב <Quota> הוא חובה, והוא מזהה את מדיניות היעד Quota שהמונה שלה צריך להתעדכן באמצעות המדיניות ResetQuota.
policies.resetquota.FailedToResolveAllowCountRef לא רלוונטי לא ניתן לפתור את ההפניה למשתנה שמכיל את מספר ההרשאות באלמנט <Allow> של המדיניות לערך. האלמנט הזה הוא חובה, והוא מציין את הסכום שצריך להפחית ממונה המכסה.
policies.resetquota.FailedToResolveRLPolicy 500 לא ניתן לפענח את המשתנה שאליו מפנה המאפיין ref ברכיב <Quota>.

שגיאות בהטמעה

השגיאות האלה יכולות להתרחש כשפורסים שרת proxy שמכיל את המדיניות הזו.

שם השגיאה מטרה תיקון
InvalidCount אם ערך הספירה שצוין ברכיב <Allow> של מדיניות ResetQuota הוא לא מספר שלם, פריסת proxy ל-API תיכשל.

סכימות

נושאים קשורים

מדיניות המכסות