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

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

UnsupportedDatatype

הודעת השגיאה

כשפורסים את ה-API של ה-API דרך ממשק המשתמש של Edge או Edge management API, מוצגת הודעת השגיאה הבאה:

Error Deploying Revision [revision_number]
StatisticsCollection [datatype]: Datatype Revision:[revision_number];APIProxy:[api_proxy];Organization:[org_name];Environment:[env_name] is unsupported . Context [context].

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

Error Saving Revision 1
StatisticsCollection char: Datatype Revision:1;APIProxy:StatCollector;Organization:aprabhashankar-eval;Environment:test is unsupported . Context {2}.

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

סיבה

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

סוגי הנתונים הנתמכים הם string, integer, float, long, double ו-boolean.

לדוגמה, אם סוג המשתנה מצוין כ-char ברכיב <Statistic> של מדיניות סטטיסטיקות Collector, הפריסה של שרת ה-proxy של ה-API תיכשל.

אבחון

  1. יש לזהות את מדיניות 'אוסף הנתונים הסטטיסטיים' בשרת ה-API הספציפי שבו אירעה הכשל.
  2. זיהוי סוג הנתונים שאינם נתמכים שנמצאים בשימוש במדיניות 'אוסף הנתונים הסטטיסטיים'. המידע הזה מופיע בהודעת השגיאה. לדוגמה, בשגיאה הבאה, סוג הנתונים שלא נתמך הוא char:

    StatisticsCollection char: Datatype Revision:1;APIProxy:StatCollector;Organization:aprabhashankar-eval;Environment:test is unsupported . Context {2}.
    
  3. יש לוודא שמאפיין הסוג שבו נעשה שימוש במדיניות 'אוסף הנתונים הסטטיסטיים' שנכשלה תואם לסוג הנתונים שזוהה בהודעת השגיאה (שלב 2 למעלה). לדוגמה, במדיניות הבאה מצוין סוג הנתונים כ-char, שתואם לתוכן בהודעת השגיאה:

    <StatisticsCollector async="false" continueOnError="false" enabled="true" name="Statistics-Collector-1">
      <DisplayName>Statistics Collector 1</DisplayName>
      <Statistics>
          <Statistic name="statName" ref="varName" type="char">defaultStatValue</Statistic>
      </Statistics>
    </StatisticsCollector>
    
  4. אם המאפיין type אינו מסוג נתמך של נתונים, זו הסיבה לשגיאה.

    בדוגמה שלמעלה של 'אוסף הנתונים הסטטיסטיים', חשוב לזכור שהמאפיין type מוגדר בתור char, והוא לא נתמך. לכן פריסת ה-API של שרת ה-Proxy נכשלת ומוצגת השגיאה:

    StatisticsCollection char: Datatype Revision:1;APIProxy:StatCollector;Organization:aprabhashankar-eval;Environment:test is unsupported . Context {2}.
    

רזולוציה

יש לוודא שסוג הנתונים של המשתנים שמצוינים על ידי מאפייני ה-ref ברכיבי <Statistic> במדיניות 'סטטיסטיקות Collector' נתמך ותקין. לדוגמה:

<StatisticsCollector async="false" continueOnError="false" enabled="true" name="Statistics-Collector-1">
    <DisplayName>Statistics Collector 1</DisplayName>
    <Statistics>
        <Statistic name="statName" ref="varName" type="string">defaultStatValue</Statistic>
    </Statistics>
</StatisticsCollector>

InvalidName

הודעת השגיאה

כשפורסים את ה-API של ה-API דרך ממשק המשתמש של Edge או Edge management API, מוצגת הודעת השגיאה הבאה:

Error Deploying Revision [revision_number]
StatisticsCollection: Name: [name] conflicts with system defined variables. Context policy: [policy_name]

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

Error Saving Revision 1
StatisticsCollection: Name: organization conflicts with system defined variables. Context policy: StatCollector.

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

סיבה

אם השם שמשמש להפניה לנתונים שנאספו עבור המשתנה שצוין שהוגדר ברכיב <Statistic> של מדיניות 'אוסף הנתונים הסטטיסטיים' מתנגש עם משתנה שהוגדר על ידי המערכת, הפריסה של שרת ה-proxy של ה-API תיכשל.

חלק מהמשתנים המוגדרים על ידי המערכת הם organization ו-environment.

לדוגמה, אם מאפיין השם מצוין בתור organization ברכיב <Statistic> של מדיניות StatStats Collector, הפריסה של שרת ה-proxy של ה-API תיכשל.

אבחון

  1. כאן צריך לזהות את מדיניות 'אוסף הנתונים הסטטיסטיים' שבה אירעה השגיאה ואת השם של הרכיב <Statistic> שמתנגש עם משתנה שהוגדר על ידי המערכת. ניתן למצוא את שני הפריטים האלה בהודעת השגיאה. לדוגמה, בשגיאה הבאה שם המדיניות הוא StatCollector. שם הרכיב <Statistic> שמתנגש עם המשתנה בהגדרת המערכת הוא organization:

    StatisticsCollection: Name: organization conflicts with system defined variables. Context policy: StatCollector.
    
  2. יש לוודא ששם הרכיב <Statistic> שנעשה בו שימוש ב-XML של מדיניות 'אוסף הנתונים הסטטיסטיים' שנכשל, תואם לשם שזוהה בהודעת השגיאה (שלב 1 למעלה). לדוגמה, במדיניות הבאה מצוין השם organization ברכיב <Statistic>, שתואם למה שמופיע בהודעת השגיאה:

    <StatisticsCollector name="StatCollector">
      <Statistics>
          <Statistic name="organization" ref="organization" type="string">myorg</Statistic>
          <Statistic name="traffic" ref="traffic" type="string">999999</Statistic>
      </Statistics>
    </StatisticsCollector>
    
  3. צריך לבדוק את ההגדרה של כל אחד מרכיבי <Statistic>. אם יש רכיב <Statistic> שבו המאפיין name מתנגש עם משתנה מערכת, זו הסיבה לשגיאה.

במדיניות לדוגמה של בורר הנתונים הסטטיסטיים שמוצגת למעלה, חשוב לזכור שמאפיין השם של <Statistic> שנעשה בו שימוש הוא organization, שהוא שם של משתנה מערכת. לכן, פריסת ה-API של שרת ה-Proxy נכשלת ומוצגת השגיאה:

StatisticsCollection: Name: organization conflicts with system defined variables. Context policy: StatCollector.

רזולוציה

חשוב לוודא שהשם של הרכיב <Statistic> שמשמש לאזכור הנתונים שנאספים עבור המשתנה שצוין, המוגדר בתוך הרכיב <Statistic> במדיניות Stats Collector (אוסף הנתונים הסטטיסטיים) שונה מהמשתנים שמוגדרים על ידי המערכת. לדוגמה:

<StatisticsCollector name="StatCollector">
    <Statistics>
        <Statistic name="org" ref="org" type="string">myorg</Statistic>
        <Statistic name="traffic" ref="traffic" type="string">999999</Statistic>
    </Statistics>
</StatisticsCollector>

DatatypeMissing

הודעת השגיאה

כשפורסים את ה-API של ה-API דרך ממשק המשתמש של Edge או Edge management API, מוצגת הודעת השגיאה הבאה:

Error Deploying Revision [revision_number]
StatisticsCollection [ref]: Datatype of Revision:[revision_number];APIProxy:[api_proxy];Organization:[org_name];Environment:[env_name] is missing . Context [context].

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

Error Deploying Revision 2 to test
StatisticsCollection product.id: Datatype of Revision:2;APIProxy:StatCollector;Organization:aprabhashankar-eval;Environment:test is missing. Context {2}.

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

סיבה

אם סוג המשתנה שצוין על ידי המאפיין ref ברכיב <Statistic> במדיניות 'אוסף הנתונים הסטטיסטיים' חסר, הפריסה של שרת ה-proxy של ה-API תיכשל.

אבחון

  1. יש לזהות את מדיניות 'אוסף הנתונים הסטטיסטיים' בשרת ה-API הספציפי שבו אירעה הכשל.
  2. עליך לבדוק את ההגדרה של כל אחד מרכיבי <Statistic> ב-XML של מדיניות 'אוסף הנתונים הסטטיסטיים' שנכשל. אם יש רכיבי <Statistic> שבהם חסר מאפיין סוג, זו הסיבה לשגיאה.

הנה דוגמה למדיניות 'אוסף הנתונים הסטטיסטיים':

  <StatisticsCollector name="publishPurchaseDetails"
      <Statistics>
          <Statistic name="productID" ref="product.id">999999</Statistic>
          <Statistic name="price" ref="product.price" type="string">1000</Statistic>
      </Statistics>
  </StatisticsCollector>
  

בדוגמה שמוצגת למעלה במדיניות גובל הנתונים הסטטיסטיים, שימו לב שמאפיין הסוג חסר בשני הרכיבים של <Statistic>. לכן הפריסה של שרת ה-proxy של ה-API נכשלת.

רזולוציה

חשוב לוודא שמאפיין הסוג של המשתנה שצוין על ידי המאפיין ref ברכיב <Statistic> של המדיניות 'סטטיסטיקות Collector' תמיד מצוין ושהוא בעל סוג נתונים נתמך.

סוגי הנתונים הנתמכים הם string, integer, float, long, double ו-boolean.

לדוגמה:

<StatisticsCollector name="publishPurchaseDetails">
    <Statistics>
        <Statistic name="productID" ref="product.id" type="string">999999</Statistic>
        <Statistic name="price" ref="product.price"  type="string">1000</Statistic>
    </Statistics>
</StatisticsCollector>