מדיניות ResetQuota

אתם צופים במסמכי התיעוד של Apigee Edge.
כדאי לעיין במסמכי התיעוד של Apigee X.
מידע

מה

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

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

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

דוגמאות

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

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

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

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

כל כללי המדיניות של Reset Quota מחייבים שימוש בתג <Identifier> כדי לציין את המונה במדיניות Quota שצריך לעדכן. כברירת מחדל, למדיניות מכסת שימוש יש מונה יחיד, אלא אם מדיניות מכסת השימוש כוללת גם את התג <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> כדי להוסיף תווית למדיניות עורך ה-Proxy של ממשק המשתמש לניהול בעל שם אחר בשפה טבעית.

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

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

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

false אופציונלי
enabled

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

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

true אופציונלי
async

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

false הוצא משימוש

&lt;DisplayName&gt; רכיב

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

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

לא רלוונטי

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

נוכחות אופציונלי
סוג מחרוזת

אלמנט <Quota>

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

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

מאפיינים

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

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

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

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

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

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

מאפיינים

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

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

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

משתנה של זרימת נתונים שמכיל את השם של מזהה הספירה במדיניות היעד Quota. אם מציינים גם את 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

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

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

הפניה לשגיאה

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

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

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

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

שגיאות בפריסה

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

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

סכימות

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

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