מוצג המסמך של Apigee Edge.
עוברים אל
מסמכי תיעוד של Apigee X. מידע
InvalidQuotaInterval
הודעת שגיאה
כשפורסים את שרת ה-proxy ל-API דרך ממשק המשתמש של Edge או Edge management API, מופיעה הודעת השגיאה הבאה:
Error Saving Revision [revision_number] Invalid quota interval [interval] in quota policy [policy_name].
דוגמה להודעת שגיאה
Error Saving Revision 1
Invalid quota interval 0.1 in quota policy Quota-1.
צילום מסך לדוגמה
סיבה
אם מרווח המכסה שצוין ברכיב <Interval>
של מדיניות המכסה אינו מספר שלם, הפריסה של שרת ה-proxy ל-API תיכשל.
לדוגמה, אם טווח המכסה שצוין הוא 0.1 ברכיב <Interval>
של מדיניות מכסה, הפריסה של שרת ה-proxy ל-API תיכשל.
אבחון
מזהים את מדיניות המכסה שבה אירעה השגיאה ואת מרווח המכסה הלא חוקי. אפשר למצוא את המידע הזה בהודעת השגיאה. לדוגמה, בשגיאה הבאה, שם המדיניות הוא
Quota-1
ומרווח המכסה הלא חוקי הוא0.1
:Error Saving Revision 1 Invalid quota interval 0.1 in quota policy Quota-1.
מוודאים שהערך של מרווח המכסה שצוין במדיניות המכסה שנכשלה תואם לערך שזוהה בהודעת השגיאה (שלב 1 למעלה). לדוגמה, המדיניות הבאה מציינת את הערך של מרווח המכסה כ-
0.1
, שתואם לערך שמופיע בהודעת השגיאה:<Quota async="false" continueOnError="false" enabled="true" name="Quota-1"> <DisplayName>Quota-1</DisplayName> <Properties /> <Allow count="3" /> <Interval>0.1</Interval> <TimeUnit>minute</TimeUnit> </Quota>
אם מרווח המכסה שצוין אינו מספר שלם, זו הסיבה לשגיאה.
במדיניות המכסות לדוגמה שמוצגת למעלה, הערך של מרווח המכסה הוא 0.1, ולא מספר שלם. לכן, הפריסה של ה-Proxy ל-API נכשלה עם השגיאה:
Invalid quota interval 0.1 in quota policy Quota-1.
רזולוציה
צריך לוודא שהערך של מרווח המכסה שצוין ברכיב <Interval>
של מדיניות המכסות הוא מספר שלם. לדוגמה:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Quota async="false" continueOnError="false" enabled="true" name="Quota-1"> <DisplayName>Quota-1</DisplayName> <Properties/> <Allow count="3"/> <Interval>1</Interval> <TimeUnit>minute</TimeUnit> </Quota>
InvalidQuotaTimeUnit
הודעת שגיאה
כשפורסים את שרת ה-proxy ל-API דרך ממשק המשתמש של Edge או Edge management API, מופיעה הודעת השגיאה הבאה:
Error Saving Revision [revision_number] Invalid quota interval time unit [time_unit] in quota policy [policy_name] in Revision [revision_number] of application [proxy_name], in organization [org_name].
דוגמה להודעת שגיאה
Error Saving Revision 1
Invalid quota interval time unit year in quota policy Quota-1 in Revision 1 of application Quota_test, in organization aprabhashankar-eval.
צילום מסך לדוגמה
סיבה
אם יחידת הזמן שצוינה ברכיב <TimeUnit>
של מדיניות המכסה לא נתמכת, הפריסה של שרת ה-proxy ל-API תיכשל.
יחידות הזמן הנתמכות הן minute
, hour
, day
, week
ו-month
.
לדוגמה, אם יחידת הזמן מצוינת כ-year
ברכיב <TimeUnit>
של מדיניות המכסה, הפריסה של שרת ה-proxy ל-API תיכשל.
אבחון
מזהים את מדיניות המכסה שבה התרחשה השגיאה ואת יחידת הזמן הלא חוקית. אפשר למצוא את המידע הזה בהודעת השגיאה. לדוגמה, בשגיאה הבאה, שם המדיניות הוא
Quota-1
ויחידת הזמן הלא תקינה היאyear
:Invalid quota interval time unit year in quota policy Quota-1 in Revision 1 of application Quota_test, in organization aprabhashankar-eval.
מוודאים שיחידת הזמן שצוינה ברכיב
<TimeUnit>
של מדיניות המכסה תואמת ליחידת הזמן שזוהתה בהודעת השגיאה (שלב 1 למעלה). לדוגמה, המדיניות הבאה מציינת את הערך של מרווח המכסה כ-year
, שתואם לערך שמופיע בהודעת השגיאה:<Quota async="false" continueOnError="false" enabled="true" name="Quota-1"> <DisplayName>Quota-1</DisplayName> <Properties /> <Allow count="3" /> <Interval>1</Interval> <TimeUnit>year</TimeUnit> </Quota>
אם יחידת הזמן שצוינה במדיניות המכסות לא נתמכת, זו הסיבה לשגיאה.
במדיניות המכסה לדוגמה שמוצגת למעלה, יחידת הזמן מצוינת כ-
year
שאינו נתמך. לכן, הפריסה של ה-Proxy ל-API נכשלה עם השגיאה:Invalid quota interval time unit year in quota policy Quota-1 in Revision 1 of application Quota_test, in organization aprabhashankar-eval.
רזולוציה
חשוב לוודא שיחידת הזמן שצוינה ברכיב <TimeUnit>
של מדיניות המכסה נתמכת. לדוגמה:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Quota async="false" continueOnError="false" enabled="true" name="Quota-1"> <DisplayName>Quota-1</DisplayName> <Properties/> <Allow count="3"/> <Interval>1</Interval> <TimeUnit>month</TimeUnit> </Quota>
InvalidQuotaType
הודעת שגיאה
כשפורסים את שרת ה-proxy ל-API דרך ממשק המשתמש של Edge או Edge management API, מופיעה הודעת השגיאה הבאה:
Error Saving Revision [revision_number] No enum constant com.apigee.quota.types.QuotaType.[type].
דוגמה להודעת שגיאה
Error Saving Revision 1
No enum constant com.apigee.quota.types.QuotaType.window.
צילום מסך לדוגמה
סיבה
אם הסוג במכסה שצוין על ידי המאפיין type
ב<Quota>
של מדיניות המכסה לא חוקי, הפריסה של שרת ה-proxy ל-API נכשלת.
המכסות הנתמכות הן default
, calendar
, flexi
ו-rollingwindow
.
לדוגמה, אם סוג המדיניות צוין כ-window
ברכיב <Quota>
של מדיניות המכסות, הפריסה של שרת ה-proxy ל-API נכשלת.
אבחון
מזהים את סוג המכסה הלא חוקי שמופיע במדיניות בנושא מכסות. אפשר למצוא כאן מידע מהודעת השגיאה. לדוגמה, בשגיאה הבאה, סוג המדיניות הלא תקין הוא
window
:Error Saving Revision 1 No enum constant com.apigee.quota.types.QuotaType.window.
לבדוק את כל כללי מדיניות המכסה בשרת ה-proxy הספציפי ל-API שבו התרחש הכשל. אם יש מדיניות Quota שבה סוג המכסה שמצוין ברכיב
<Quota>
תואם לסוג הלא נתמך שזוהה בשלב 1 למעלה, זו הסיבה לשגיאה.לדוגמה, המדיניות הבאה מציינת את הסוג
window
, שתואם את תוכן הודעת השגיאה:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Quota async="false" continueOnError="false" enabled="true" name="Quota-1" type="window"> <DisplayName>Quota-1</DisplayName> <Properties/> <Allow count="3"/> <Interval>1</Interval> <TimeUnit>minute</TimeUnit> <StartTime>2017-7-16 12:00:00</StartTime> <MessageWeight ref="messageWeight"/> </Quota>
מאחר שמאפיין הסוג מוגדר כ-
window
, דבר שאינו נתמך, הפריסה של שרת ה-proxy ל-API נכשלה ומוצגת השגיאה:No enum constant com.apigee.quota.types.QuotaType.window.
רזולוציה
חשוב לוודא שסוג המכסה שצוין על ידי המאפיין type
ברכיב <Quota>
של מדיניות המכסה נתמך. לדוגמה:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Quota async="false" continueOnError="false" enabled="true" name="Quota-1" type="rollingwindow"> <DisplayName>Quota-1</DisplayName> <Properties/> <Allow count="3"/> <Interval>1</Interval> <TimeUnit>minute</TimeUnit> <StartTime>2017-7-16 12:00:00</StartTime> <MessageWeight ref="messageWeight"/> </Quota>
InvalidStartTime
הודעת שגיאה
כשפורסים את שרת ה-proxy ל-API דרך ממשק המשתמש של Edge או Edge management API, מופיעה הודעת השגיאה הבאה:
Error Saving Revision [revision_number] Invalid Starttime:[start_time]; Start Time should be of the format yyyy-MM-dd HH:mm:ss.
דוגמה להודעת שגיאה
Error Saving Revision 1
Invalid Starttime:7-16-2017 12:00:00; Start Time should be of the format yyyy-MM-dd HH:mm:ss.
צילום מסך לדוגמה
סיבה
אם פורמט השעה שצוין ברכיב <StartTime>
של מדיניות המכסה לא תקין, הפריסה של שרת ה-proxy ל-API תיכשל.
הפורמט התקף הוא yyyy-MM-dd HH:mm:ss
, שהוא פורמט התאריך והשעה לפי תקן ISO 8601.
לדוגמה, אם הזמן שצוין ברכיב <StartTime>
של מדיניות המכסה הוא 7-16-2017 12:00:00
, הפריסה של שרת ה-proxy ל-API תיכשל.
אבחון
מזהים את שעת ההתחלה הלא חוקית שצוינה במדיניות המכסה. אפשר למצוא את המידע הזה בהודעת השגיאה. לדוגמה, בשגיאה הבאה, שעת ההתחלה לא חוקית היא
7-16-2017 12:00:00
.Invalid Starttime:7-16-2017 12:00:00; Start Time should be of the format yyyy-MM-dd HH:mm:ss.
לבדוק את כל כללי מדיניות המכסה בשרת ה-proxy הספציפי ל-API שבו התרחש הכשל. אם יש מדיניות מכסה כלשהי שבה הערך שצוין ברכיב
<StartTime>
תואם לשעת ההתחלה הלא חוקית שצוינה בשלב 1 למעלה, זו הסיבה לשגיאה.לדוגמה, המדיניות הבאה מציינת את הסוג
7-16-2017 12:00:00
, שתואם את תוכן הודעת השגיאה:<?xml version="1.0" encoding="UTF-8"?> <Quota async="false" continueOnError="false" enabled="true" name="Quota-1" type="calendar"> <DisplayName>Quota-1</DisplayName> <Properties /> <Allow count="3" /> <Interval>1</Interval> <TimeUnit>minute</TimeUnit> <StartTime>7-16-2017 12:00:00</StartTime> </Quota>
מכיוון שהערך שהוגדר ל-
<StartTime>
הוא7-16-2017 12:00:00
, כלומר אינה בהתאם לפורמט הנדרש של תאריך/שעה, הפריסה של שרת ה-proxy של ה-API נכשלה עם השגיאה:Invalid Starttime:7-16-2017 12:00:00; Start Time should be of the format yyyy-MM-dd HH:mm:ss.
רזולוציה
חשוב לוודא שהפורמט של שעת ההתחלה שצוין ברכיב <StartTime>
של מדיניות המכסה תקין בהתאם לפורמט הנדרש yyyy-MM-dd HH:mm:ss
. לדוגמה:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Quota async="false" continueOnError="false" enabled="true" name="Quota-1" type="calendar"> <DisplayName>Quota-1</DisplayName> <Properties/> <Allow count="3"/> <Interval>1</Interval> <TimeUnit>minute</TimeUnit> <StartTime>2017-7-16 12:00:00</StartTime> </Quota>
StartTimeNotSupported
הודעת שגיאה
כשפורסים את שרת ה-proxy ל-API דרך ממשק המשתמש של Edge או Edge management API, מופיעה הודעת השגיאה הבאה:
Error Saving Revision [revision_number] Starttime is not supported for quotatype [quota_type]. Starttime is supported only for calendar based type.
דוגמה להודעת שגיאה
Error Saving Revision 1
Starttime is not supported for quotatype flexi. Starttime is supported only for calendar based type.
צילום מסך לדוגמה
סיבה
אם הרכיב <StartTime>
מצוין במדיניות מכסה שסוג המכסה שלה הוא לא סוג יומן, הפריסה של שרת ה-proxy ל-API תיכשל.
הרכיב <StartTime>
נתמך רק בסוג המכסה calendar
.
לדוגמה, אם המאפיין type
מוגדר להיות flexi
או rolling window
ברכיב <Quota>
של מדיניות המכסה, הפריסה של שרת ה-proxy ל-API תיכשל.
אבחון
מזהים את סוג המכסה שצוין במדיניות בנושא Quota שנכשלה. אפשר למצוא את המידע הזה בהודעת השגיאה. לדוגמה, בשגיאה הבאה, שעת ההתחלה לא חוקית היא
flexi
.Starttime is not supported for quotatype flexi. Starttime is supported only for calendar based type.
לבדוק את כל כללי מדיניות המכסה בשרת ה-proxy הספציפי ל-API שבו התרחש הכשל. אם יש מדיניות Quota שבה מאפיין הסוג שצוין תואם לסוג המכסה שזוהה בשלב 1 למעלה ומצוין רכיב
<StartTime>
, זו הסיבה לשגיאה.לדוגמה, המדיניות הבאה מציינת את סוג המכסה כ
flexi
, שתואם למה שמופיע בהודעת השגיאה וגם מציין את הרכיב<StartTime>
:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Quota async="false" continueOnError="false" enabled="true" name="Quota-1" type="flexi"> <DisplayName>Quota-1</DisplayName> <Properties/> <Allow count="3"/> <Interval>1</Interval> <TimeUnit>minute</TimeUnit> <StartTime>2017-7-16 12:00:00</StartTime> </Quota>
מכיוון שהרכיב
<StartTime>
מצוין במדיניות המכסה שסוג המכסה שלו הואflexi
, הפריסה של שרת ה-proxy ל-API נכשלת עם השגיאה:Starttime is not supported for quotatype flexi. Starttime is supported only for calendar based type.
רזולוציה
יש לוודא שהרכיב <StartTime>
לא צוין כאשר סוג המכסה שמצוין על ידי המאפיין type
ברכיב <Quota>
הוא flexi
או rolling window
. לדוגמה:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Quota async="false" continueOnError="false" enabled="true" name="Quota-1" type="flexi"> <DisplayName>Quota-1</DisplayName> <Properties/> <Allow count="3"/> <Interval>1</Interval> <TimeUnit>minute</TimeUnit> </Quota>
InvalidTimeUnitForDistributedQuota
הודעת שגיאה
כשפורסים את שרת ה-proxy ל-API דרך ממשק המשתמש של Edge או Edge management API, מופיעה הודעת השגיאה הבאה:
Error Saving Revision [revision number] Invalid timeunit second for distributed quota.
דוגמה להודעת שגיאה
Error Saving Revision 1
Invalid timeunit second for distributed quota.
צילום מסך לדוגמה
סיבה
אם הרכיב <Distributed>
מוגדר לערך true
והרכיב <TimeUnit>
מוגדר לערך second
, הפריסה של שרת ה-proxy ל-API נכשלת. יחידת הזמן second
אינה חוקית למכסה מבוזרת.
כשהרכיב Distributed
מוגדר לערך true
, המדיניות צריכה לשמור על מונה מרכזי ולסנכרן אותו באופן רציף בין כל מעבדי ההודעות. לכן יהיה קשה לסנכרן אותו ולוודא שמספר הבקשות לא יחרוג מהמכסה שצוינה בפרק זמן קצר, כמו שניות. לכן, יחידת הזמן second
נחשבת לא תקינה במכסה מבוזרת.
אבחון
לבדוק את כל כללי מדיניות המכסה בשרת ה-proxy הספציפי ל-API שבו התרחש הכשל. אם יש מדיניות Quota עם רכיב <TimeUnit>
שמוגדר ל-second
והרכיב <Distributed>
מוגדר ל-true
, זו הסיבה לשגיאה.
לדוגמה, במדיניות הבאה יש רכיב <TimeUnit>
שמוגדר לערך second
והרכיב <Distributed>
מוגדר להיות true
.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Quota async="false" continueOnError="false" enabled="true" name="CheckQuota" type="calendar"> <DisplayName>CheckQuota</DisplayName> <Properties/> <Allow count="30"/> <Interval>1</Interval> <TimeUnit>second</TimeUnit> <StartTime>2018-8-05 12:00:00</StartTime> <Distributed>true</Distributed> <Synchronous>false</Synchronous> </Quota>
רזולוציה
יש לוודא שהרכיב <TimeUnit>
אף פעם לא מוגדר כ-second
כשהרכיב <Distributed>
מוגדר כ-True. אפשר להגדיר את הרכיב <TimeUnit>
לכל אחד מהערכים המותרים האחרים – minute, hour, day, week,
אוmonth
. מוצרים לדוגמה:
<Quota async="false" continueOnError="false" enabled="true" name="CheckQuota" type="calendar"> <DisplayName>CheckQuota</DisplayName> <Properties/> <Allow count="30"/> <Interval>1</Interval> <TimeUnit>hour</TimeUnit> <StartTime>2018-8-05 12:00:00</StartTime> <Distributed>true</Distributed> <Synchronous>false</Synchronous> </Quota>
InvalidSynchronizeIntervalForAsyncConfiguration
הודעת שגיאה
כשפורסים את שרת ה-proxy ל-API דרך ממשק המשתמש של Edge או Edge management API, מופיעה הודעת השגיאה הבאה:
Error Saving Revision [revision number] SyncIntervalInSeconds should be a value greater than zero.
דוגמה להודעת שגיאה
Error Saving Revision 1
SyncIntervalInSeconds should be a value greater than zero.
צילום מסך לדוגמה
סיבה
אם הערך שצוין לרכיב <SyncIntervalInSeconds>
בתוך הרכיב <AsynchronousConfiguration>
במדיניות Quota קטן מאפס, הפריסה של שרת ה-proxy ל-API תיכשל.
אבחון
לבדוק את כל כללי מדיניות המכסה בשרת ה-proxy הספציפי ל-API שבו התרחש הכשל. אם יש מדיניות מכסה כלשהי שבה הרכיב <SyncIntervalInSeconds>
מוגדר לערך קטן מאפס, ברכיב <AsynchronousConfiguration>
, זו הסיבה לשגיאה.
לדוגמה, המדיניות הבאה כוללת ערך שלילי עבור הרכיב <SyncIntervalInSeconds>
:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Quota async="false" continueOnError="false" enabled="true" name="Quota_AsyncConfig" type="calendar"> <DisplayName>Quota_AsyncConfig</DisplayName> <Properties/> <Allow count="3"/> <Interval>1</Interval> <TimeUnit>minute</TimeUnit> <StartTime>2017-7-16 12:00:00</StartTime> <Distributed>true</Distributed> <Synchronous>false</Synchronous> <AsynchronousConfiguration> <SyncIntervalInSeconds>-1</SyncIntervalInSeconds> </AsynchronousConfiguration> </Quota>
רזולוציה
חשוב להקפיד תמיד לציין מספר שלם חיובי לרכיב <SyncIntervalInSeconds>
בתוך הרכיב <AsynchronousConfiguration>
במדיניות מכסה. לדוגמה:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Quota async="false" continueOnError="false" enabled="true" name="Quota_AsyncConfig" type="calendar"> <DisplayName>Quota_AsyncConfig</DisplayName> <Properties/> <Allow count="3"/> <Interval>1</Interval> <TimeUnit>minute</TimeUnit> <StartTime>2017-7-16 12:00:00</StartTime> <Distributed>true</Distributed> <Synchronous>false</Synchronous> <AsynchronousConfiguration> <SyncIntervalInSeconds>5</SyncIntervalInSeconds> </AsynchronousConfiguration> </Quota>
InvalidAsynchronizeConfigurationForSynchronousQuota
הודעת שגיאה
כשפורסים את שרת ה-proxy ל-API דרך ממשק המשתמש של Edge או Edge management API, מופיעה הודעת השגיאה הבאה:
Error Saving Revision [revision number] AsynchronousConfiguration is not valid for synchronous quota.
דוגמה להודעת שגיאה
Error Saving Revision 2
AsynchronousConfiguration is not valid for synchronous quota.
צילום מסך לדוגמה
סיבה
אם הערך של הרכיב <Synchronous>
מוגדר כ-true
במדיניות מכסה, שמוגדרת בה גם הגדרה אסינכרונית באמצעות הרכיב <AsynchronousConfiguration>
, הפריסה של שרת ה-proxy של ה-API תיכשל.
אבחון
לבדוק את כל כללי מדיניות המכסה בשרת ה-proxy הספציפי ל-API שבו התרחש הכשל. אם יש מדיניות מכסה כלשהי שבה הרכיב <Synchronous>
מוגדר להיות true
, ואם מוגדר בו גם רכיב <AsynchronousConfiguration>
, זו הסיבה לשגיאה.
לדוגמה, המדיניות הבאה כוללת רכיב <Synchronous>
שמוגדר ל-true
וגם שמוגדר בו רכיב <AsynchronousConfiguration>
:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Quota async="false" continueOnError="false" enabled="true" name="Quota_AsyncConfig" type="calendar"> <DisplayName>Quota_AsyncConfig</DisplayName> <Properties/> <Allow count="3"/> <Interval>1</Interval> <TimeUnit>minute</TimeUnit> <StartTime>2017-7-16 12:00:00</StartTime> <Distributed>true</Distributed> <Synchronous>true</Synchronous> <AsynchronousConfiguration> <SyncIntervalInSeconds>1</SyncIntervalInSeconds> </AsynchronousConfiguration> </Quota>
רזולוציה
חשוב לוודא שלא הוגדרה הגדרה אסינכרונית באמצעות הרכיב <AsynchronousConfiguration>
אם הרכיב <Synchronous>
מוגדר לערך true
במדיניות מכסה.
אפשר לתקן את הדוגמה שלמעלה על ידי הסרת הקטע <AsynchronousConfiguration>
כפי שמוצג בהמשך:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Quota async="false" continueOnError="false" enabled="true" name="Quota_AsyncConfig" type="calendar"> <DisplayName>Quota_AsyncConfig</DisplayName> <Properties/> <Allow count="3"/> <Interval>1</Interval> <TimeUnit>minute</TimeUnit> <StartTime>2017-7-16 12:00:00</StartTime> <Distributed>true</Distributed> <Synchronous>true</Synchronous> </Quota>