פתרון בעיות שקשורות לשגיאות בפריסה של מדיניות Spike Arrest

כרגע מוצג התיעוד של Apigee Edge.
כניסה למסמכי התיעוד של Apigee X.
מידע

InvalidAllowedRate

הודעת השגיאה

הודעת השגיאה הבאה פירשה את ה-API של שרת ה-proxy דרך ממשק המשתמש של Edge או דרך ממשק ה-API לניהול Edge:

Error Saving Revision [revision_number]
Invalid spike arrest rate [invalid_rate].

הודעות שגיאה לדוגמה

Error Saving Revision 1
Invalid spike arrest rate 30s.

Error Saving Revision 1
Invalid spike arrest rate 30.1ps.

צילומי מסך לדוגמה

סיבה

אם שיעור מעצר השיא שצוין ברכיב <Rate> של Spike Arrest Policy הוא לא מספר שלם, או אם הקצב לא כולל את הערך ps או pm, הפריסה של שרת ה-proxy של ה-API תיכשל.

הערכים החוקיים הם [int]ps ו-[int]pm.

לדוגמה, אם שיעור מעצר השיא שצוין הוא 30.1ps ברכיב <Rate> של מדיניות Spike Arrest, הפריסה של שרת ה-proxy של ה-API תיכשל. הסיבה לכך היא ש-30.1 אינו מספר שלם.

אבחון

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

    Error Saving Revision 1
    Invalid spike arrest rate 30.1ps.
    
  2. בודקים את כל כללי המדיניות של Spike Arrest בשרת proxy ספציפי ל-API, שבו אירעה הכשל. אם קיימת מדיניות מסוג 'מעצר שיא' שבה מעצר השיא שצוין ברכיב <Rate> תואם לשיעור המעצר הלא חוקי שזוהה בשלב 1 למעלה, זו הסיבה לשגיאה.

    לדוגמה, במדיניות הבאה מצוין הערך של <Rate> כ-30.1ps, שתואם למה שמופיע בהודעת השגיאה:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <SpikeArrest async="false" continueOnError="false" enabled="true" name="CheckRate">
        <DisplayName>CheckRate</DisplayName>
        <Properties/>
        <Identifier ref="request.header.some-header-name"/>
        <MessageWeight ref="request.header.weight"/>
        <Rate>30.1ps</Rate>
    </SpikeArrest>
    

    שיעור מעצר השיא שצוין ברכיב <Rate> אינו מספר שלם, כך שהשגיאה פריסה של שרת ה-proxy ל-API נכשלת:

    Invalid spike arrest rate 30.1ps.
    

רזולוציה

יש לוודא שהערך של שיעור מעצר השיא שצוין ברכיב <Rate> במדיניות על מעצרים עקב שיא הוא מספר שלם, והסיומת שלו היא ps או pm. לדוגמה:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<SpikeArrest async="false" continueOnError="false" enabled="true" name="CheckRate">
    <DisplayName>CheckRate</DisplayName>
    <Properties/>
    <Identifier ref="request.header.some-header-name"/>
    <MessageWeight ref="request.header.weight"/>
    <Rate>30ps</Rate>
</SpikeArrest>