כרגע מוצג התיעוד של Apigee Edge.
כניסה למסמכי התיעוד של
Apigee X. מידע
סקירה כללית
המדיניות MonetizeLimitsCheck מאפשרת לאכוף הגבלות מונטיזציה על הקריאות ל-API שמתבצעות על ידי מפתחי האפליקציה.
הנה כמה מהמקרים שבהם המדיניות מופעלת:
- אם מפַתח אפליקציה שמשתמש ב-API המייצר הכנסות לא רכש מינוי למוצר ה-API המשויך
- היתרה בחשבון של המפתח לא מספיקה.
- המפתח חרג ממגבלת נפח העסקאות.
במאמר אכיפת מגבלות מונטיזציה בשרתי proxy של API מוסבר איך לצרף את המדיניות לשרת ה-API של ה-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>
דוגמה
בדוגמה הבאה מוצגת הגדרת המדיניות MonetizeLimitsCheck:
<?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
שונה מהגדרת הערך
continueOnError
של הרכיב <MonetizationLimitsCheck>
לערך 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
,
שנמצא בתהליך של שרת ה-API של שרת ה-API.
<Variables> <Product>myproductvar.name</Product> </Variables>
אפשר להגדיר משתני זרימה מותאמים אישית באמצעות כללי מדיניות כמו AssignMessage או JavaScript.
<Product>
מציין את המשתנה עם שם המוצר של ה-API.
ערך ברירת המחדל | לא רלוונטי |
חובה? | אופציונלי |
סוג | מחרוזת |
רכיב הורה |
<Variables> |
רכיבי צאצא | ללא |
הרכיב <Product>
משתמש בתחביר הבא:
תחביר
<Product>VARIABLE_NAME</Product>
דוגמה
בדוגמה הבאה מוצג שם המוצר של ה-API ממשתנה הזרימה המותאם אישית myproductvar.name
,
שנמצא בתהליך של שרת ה-API של שרת ה-API.
<Product>myproductvar.name</Product>
אפשר להגדיר משתני זרימה מותאמים אישית באמצעות כללי מדיניות כמו AssignMessage או JavaScript.
<FaultResponse>
מגדירה את הודעת התגובה שהוחזרה ללקוח המבקש במקרה של תקלה. אפשר להתאים אישית את הודעות התשובה בהתאם לדרישות שלך. מידע נוסף על הרכיב ועל כל רכיבי הצאצא שלו זמין במאמר FaultResponse.
משתני זרימה
אם מגדירים את
המאפיין ContinueOnError
של הרכיב <MonetizationLimitsCheck>
כ-True, לא נוצרת שגיאה. במקרה הזה, משתני הזרימה mint.limitsViolated
, mint.isDeveloperSuspended
ו-mint.limitsPolicyError
מוגדרים באופן אוטומטי. אפשר להשתמש במשתנים האלה כדי לבצע טיפול נוסף בחריגות במקרה הצורך.