מוצג המסמך של Apigee Edge.
עוברים אל
מסמכי תיעוד של Apigee X. מידע
סקירה כללית
המדיניות MonetizeLimitsCheck מאפשרת לאכוף הגבלות מונטיזציה על קריאות ל-API שנשלחות מפַתח האפליקציה.
אלה כמה מהמקרים שבהם המדיניות מופעלת:
- אם מפתח אפליקציות שניגש ל-API לייצר הכנסות לא רכש מינוי ל- מוצר ה-API המשויך
- בחשבון של המפתח אין יתרה מספקת.
- המפתח חרג ממגבלת נפח העסקאות.
למידע נוסף על צירוף המדיניות לשרת ה-proxy של ה-API, אפשר לעיין במאמר לאכוף מגבלות מונטיזציה בשרתי proxy ל-API.
רכיב <MonetizationLimitsCheck>
מציינת את המדיניות MonetizeLimitsCheck.
ערך ברירת מחדל | לא רלוונטי |
חובה? | חובה |
סוג | סוג מורכב |
רכיב הורה | לא רלוונטי |
רכיבים צאצאים |
<DisplayName> <FaultResponse> <IgnoreUnresolvedVariables> <Variables> |
בטבלה הבאה יש תיאור כללי של רכיבי הצאצא של <MonetizationLimitsCheck>
:
רכיב צאצא | חובה? | תיאור |
---|---|---|
<DisplayName> |
אופציונלי | שם מותאם אישית למדיניות. |
<FaultResponse> |
אופציונלי | המדיניות הזו מציינת את הודעת התשובה שמוחזרת ללקוח ששלח את הבקשה כאשר יש טעות. |
<IgnoreUnresolvedVariables> |
אופציונלי | המדיניות הזו קובעת אם העיבוד ייפסק כשנתקלים במשתנה שלא זוהה. |
<Variables> |
אופציונלי | מציינת את משתני הזרימה כדי לבדוק את מגבלות המונטיזציה. |
הרכיב <MonetizationLimitsCheck>
משתמש בתחביר הבא:
תחביר
<?xml version="1.0" encoding="UTF-8"?> <MonetizationLimitsCheck async="false" continueOnError="false" enabled="true" name="POLICY_NAME"> <DisplayName>DISPLAY_NAME</DisplayName> <IgnoreUnresolvedVariables>[true|false]</IgnoreUnresolvedVariables> <Variables> <Product>VARIABLE_NAME</Product> </Variables> <FaultResponse> <Set> <Payload contentType="text/xml"> <error> <messages> <message>MESSAGE_TEXT</message> <message>MESSAGE_TEXT</message> </messages> </error> </Payload> <StatusCode>HTTP_STATUS</StatusCode> <ReasonPhrase>REASON_TEXT</ReasonPhrase> </Set> </FaultResponse> </MonetizationLimitsCheck>
דוגמה
הדוגמה הבאה מציגה את הגדרת המדיניות MonetizationLimitsCheck:
<?xml version="1.0" encoding="UTF-8"?> <MonetizationLimitsCheck async="false" continueOnError="false" enabled="true" name="Monetization-Limits-Check"> <DisplayName>Monetization Limits Check</DisplayName> <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables> <Variables> <Product>myproductvar.name</Product> </Variables> <FaultResponse> <Set> <Payload contentType="text/xml"> <error> <messages> <message>Developer has reached usage quota</message> <message>Is Developer Suspended - {monetizationLimits.isDeveloperSuspended} </message> </messages> </error> </Payload> <StatusCode>403</StatusCode> <ReasonPhrase>Forbidden</ReasonPhrase> </Set> </FaultResponse> </MonetizationLimitsCheck>
לרכיב הזה יש את המאפיינים הבאים, המשותפים לכל כללי המדיניות:
מאפיין | ברירת מחדל | חובה? | תיאור |
---|---|---|---|
name |
לא רלוונטי | נדרש |
השם הפנימי של המדיניות. הערך של המאפיין אפשר להשתמש ברכיב |
continueOnError |
false | אופציונלי | צריך להגדיר את הערך 'False' כדי להחזיר שגיאה כשהמדיניות נכשלת. זו התנהגות צפויה ברוב סוגי המדיניות. הערך של הפרמטר הוא TRUE כדי שביצוע הפעולות יתבצע גם אחרי שמדיניות תיכשל. |
enabled |
true | אופציונלי | כדי לאכוף את המדיניות צריך להגדיר את הערך True. מגדירים את המדיניות כ-"false" כדי "להשבית" את המדיניות. המדיניות הזו לא תיאכף גם אם היא תצורף לתהליך. |
async |
false | הוצא משימוש | המאפיין הזה הוצא משימוש. |
הפניה לרכיב צאצא
בקטע הזה מתוארים רכיבי הצאצא של<MonetizationLimitsCheck>
.
<DisplayName>
צריך להשתמש בנוסף למאפיין name
כדי להוסיף תווית למדיניות
עורך ה-Proxy של ממשק המשתמש לניהול, בעל שם אחר שנשמע טבעי יותר.
הרכיב <DisplayName>
משותף לכל כללי המדיניות.
ערך ברירת מחדל | לא רלוונטי |
חובה? | זה שינוי אופציונלי. אם משמיטים את הערך של <DisplayName> ,
נעשה שימוש במאפיין name של המדיניות |
סוג | מחרוזת |
רכיב הורה | <PolicyElement> |
רכיבים צאצאים | ללא |
הרכיב <DisplayName>
משתמש בתחביר הבא:
תחביר
<PolicyElement> <DisplayName>policy_display_name</DisplayName> ... </PolicyElement>
דוגמה
<PolicyElement> <DisplayName>My Validation Policy</DisplayName> </PolicyElement>
לרכיב <DisplayName>
אין מאפיינים או רכיבי צאצא.
<IgnoreUnresolvedVariables>
קובעת אם עיבוד המדיניות צריך להפסיק כש-Apigee נתקלת במשתנה לא מפוענח.
ערך ברירת מחדל | נכון |
חובה? | אופציונלי |
סוג | ערך בוליאני |
רכיב הורה |
<MonetizationLimitsCheck> |
רכיבים צאצאים | ללא |
כדי להתעלם ממשתנים לא מפוענחים ולהמשיך בעיבוד, צריך להגדיר את הערך ל-true
.
אחרת, false
. ערך ברירת המחדל הוא true
.
הגדרת הערך של <IgnoreUnresolvedVariables>
לערך true
שונה מהגדרת הרכיב <MonetizationLimitsCheck>
continueOnError
אל true
. אם מגדירים את continueOnError
לערך true
, מערכת Apigee תתעלם
רק את השגיאות במשתנים, אבל את כל השגיאות.
הרכיב <IgnoreUnresolvedVariables>
משתמש בתחביר הבא:
תחביר
<IgnoreUnresolvedVariables>[true|false]</IgnoreUnresolvedVariables>
דוגמה
הדוגמה הבאה מגדירה את <IgnoreUnresolvedVariables>
כ-false
:
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<Variables>
מציינת את משתני הזרימה שמהם רוצים לאחזר את שמות של ישויות או משאבים במהלך הפעלת המדיניות.
ניתן לציין רק את הרכיב <Product>
בתוך הרכיב <Variables>
. Apigee מקבלת
שם המוצר של ה-API ממשתנה הזרימה שצוין ברכיב <Product>
. אם
לא מציינים את הרכיב <Variables>
, Apigee כברירת מחדל מקבלת את שם המוצר של API
משתנה הקשר apiproduct.name
. באמצעות שימוש בשם המוצר של API, Apigee מקבלת את
תוכנית התמחור והתשלומים המתאימה למוצר ומבצעת את בדיקת ההגבלות על המונטיזציה.
ערך ברירת מחדל | לא רלוונטי |
חובה? | אופציונלי |
סוג | סוג מורכב |
רכיב הורה |
<MonetizationLimitsCheck> |
רכיבים צאצאים |
<Product> |
הרכיב <Variables>
משתמש בתחביר הבא:
תחביר
<Variables> <Product>VARIABLE_NAME</Product> </Variables>
דוגמה
הדוגמה הבאה מקבלת את שם המוצר ב-API ממשתנה הזרימה המותאם אישית myproductvar.name
שקיימים בתהליך ה-Proxy ל-API.
<Variables> <Product>myproductvar.name</Product> </Variables>
אתם יכולים להגדיר משתני זרימה מותאמים אישית באמצעות כללי מדיניות כמו AssignMessage או JavaScript.
<Product>
מציינת את המשתנה עם שם המוצר ב-API.
ערך ברירת מחדל | לא רלוונטי |
חובה? | אופציונלי |
סוג | מחרוזת |
רכיב הורה |
<Variables> |
רכיבים צאצאים | ללא |
הרכיב <Product>
משתמש בתחביר הבא:
תחביר
<Product>VARIABLE_NAME</Product>
דוגמה
הדוגמה הבאה מקבלת את שם המוצר ב-API ממשתנה הזרימה המותאם אישית myproductvar.name
שקיימים בתהליך ה-Proxy ל-API.
<Product>myproductvar.name</Product>
אתם יכולים להגדיר משתני זרימה מותאמים אישית באמצעות כללי מדיניות כמו AssignMessage או JavaScript.
<FaultResponse>
הגדרת הודעת התשובה שמוחזרת ללקוח ששלח את הבקשה אם נמצאה טעות. אפשר להתאים אישית את התשובה בהתאם לדרישות שלכם. לקבלת מידע נוסף על וכל רכיבי הצאצא שלו, ראו FaultResponse.
משתני זרימה
אם מגדירים את הרכיב <MonetizationLimitsCheck>
המאפיין ContinueOnError
מוגדר ל-True, אין טעות. במקרה הזה, הפרמטר
משתני זרימה, mint.limitsViolated
, mint.isDeveloperSuspended
, וגם
mint.limitsPolicyError
מוגדרים באופן אוטומטי. אפשר להשתמש במשתנים האלה כדי
לבצע טיפול נוסף בחריגות לפי הצורך.