מדיניות איפוס QQota

מוצג המסמך של Apigee Edge.
עוברים אל מסמכי תיעוד של Apigee X.
מידע

מה

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

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

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

דוגמאות

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

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

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

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

בכל כללי מדיניות של איפוס מכסה צריך שהתג &lt;Identifier&gt; מציין את למונה במדיניות המכסות לעדכון. כברירת מחדל, מדיניות Quota כוללת מונה אחד, אלא אם מדיניות המכסה כוללת גם את התג &lt;Identifier&gt;. במשפט הזה, מדיניות מכסת היעד לא משתמשת בתג &lt;Identifier&gt;, לכן צריך לציין המאפיין name בתור _default.

הרכיב &lt;Allow&gt; מציין את הערך שמשמש להקטנה של מספר המכסות הנוכחי במדיניות היעד. כאן למשל, מספר המכסות יקטן ב-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>

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

ציון המזהה

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

אם במדיניות היעד Quota מופיע התג &lt;Identifier&gt;, תוכלו לציין את אותו ערך בתג &lt;Identifier&gt; של מכסת האיפוס כדי לעדכן ספירת מכסות ספציפית. שימו לב שהתג &lt;Identifier&gt; ביעד מדיניות המכסה שלמטה תואמת לערך שצוין במדיניות איפוס המכסה:

<Quota name="QuotaPolicy">
  <Identifier ref="request.header.clientId"/> 
  <Interval>5</Interval>
  <TimeUnit>hour</TimeUnit>
  <Allow count="100"/>
</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>

&lt;ResetQuota&gt; מאפיינים

<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 של המדיניות הוא בשימוש.

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

&lt;Quota&gt; רכיב

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

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

מאפיינים

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

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

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

&lt;Quota&gt;/&lt;Identifier&gt; רכיב

משתנה שמשמש לזיהוי ייחודי של המונה אם מדיניות מכסת היעד מציינת התג &lt;Identifier&gt;.

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

מאפיינים

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

זה השם של מזהה הספירה במדיניות target Quota. למכסה מדיניות שלא משתמשת בתג &lt;Identifier&gt;, צריך לציין _default.

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

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

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

&lt;Quota&gt;/&lt;Identifier&gt;/&lt;Allow&gt; רכיב

מציינת את הסכום להקטנת מונה המכסה. יש לציין &lt;Allow&gt; אחרת המדיניות לא משנים את המכסה.

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

מאפיינים

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

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

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

&lt;Quota&gt;/&lt;Identifier&gt;/&lt;Class&gt; רכיב

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

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

מאפיינים

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

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

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

התייחסות לשגיאות

בקטע הזה מתוארים קודי התקלות והודעות השגיאה שמוחזרים, ומשתני השגיאה שמוגדרים על ידי 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 תיכשל.

סכימות

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

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