מדיניות איפוס 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">

The following table describes attributes that are common to all policy parent elements:

Attribute Description Default Presence
name

The internal name of the policy. The value of the name attribute can contain letters, numbers, spaces, hyphens, underscores, and periods. This value cannot exceed 255 characters.

Optionally, use the <DisplayName> element to label the policy in the management UI proxy editor with a different, natural-language name.

N/A Required
continueOnError

Set to false to return an error when a policy fails. This is expected behavior for most policies.

Set to true to have flow execution continue even after a policy fails.

false Optional
enabled

Set to true to enforce the policy.

Set to false to turn off the policy. The policy will not be enforced even if it remains attached to a flow.

true Optional
async

This attribute is deprecated.

false Deprecated

<DisplayName> element

Use in addition to the name attribute to label the policy in the management UI proxy editor with a different, natural-language name.

<DisplayName>Policy Display Name</DisplayName>
Default

N/A

If you omit this element, the value of the policy's name attribute is used.

Presence Optional
Type String

&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 תיכשל.

סכימות

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

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