אתם צופים במסמכי התיעוד של Apigee Edge.
כדאי לעיין במסמכי התיעוד של Apigee X. מידע
הגדרה של אופן מחיקת הערכים ששמורים במטמון.
המדיניות הזו מיועדת לשימוש במטמון לטווח קצר למטרות כלליות. היא משמשת בשילוב עם המדיניות Populate Cache (לכתיבת רשומות) ועם המדיניות Lookup Cache (לקריאת רשומות במטמון).
מידע על שמירת תשובות של משאבי backend במטמון זמין במאמר בנושא מדיניות שמירת תשובות במטמון.
הפניה לרכיב
בהמשך מפורטים הרכיבים שאפשר להגדיר במדיניות הזו.
<InvalidateCache async="false" continueOnError="false" enabled="true" name="policy-name"> <DisplayName>Policy Name</DisplayName> <CacheKey> <Prefix>prefix_string</Prefix> <KeyFragment ref="variable_reference"/> <KeyFragment>fragment_string</KeyFragment> </CacheKey> <!-- Omit this element if you're using the included shared cache. --> <CacheResource>cache_to_use</CacheResource> <Scope>scope_enumeration</Scope> <CacheContext> <APIProxyName>application_that_added_the_entry</APIProxyName> <ProxyName>proxy_for_which_data_was_cached</ProxyName> <TargetName>endpoint_for_which_data_was_cached</TargetName> </CacheContext> <PurgeChildEntries>true_to_purge_all_child_entries</PurgeChildEntries> </InvalidateCache>
מאפיינים של <InvalidateCache>
בטבלה הבאה מתוארים מאפיינים שמשותפים לכל רכיבי ההורה של המדיניות:
| מאפיין | תיאור | ברירת מחדל | נוכחות |
|---|---|---|---|
name |
השם הפנימי של המדיניות. הערך של המאפיין אפשר להשתמש ברכיב |
לא רלוונטי | חובה |
continueOnError |
צריך להגדיר את הערך יש להגדיר ל- |
false | אופציונלי |
enabled |
צריך להגדיר את הערך צריך להגדיר את הערך |
true | אופציונלי |
async |
המאפיין הזה הוצא משימוש. |
false | הוצא משימוש |
<DisplayName> רכיב
צריך להשתמש בנוסף למאפיין name כדי להוסיף תווית למדיניות
עורך proxy של ממשק משתמש לניהול עם שם אחר בשפה טבעית.
<DisplayName>Policy Display Name</DisplayName>
| ברירת מחדל |
לא רלוונטי אם משמיטים את הרכיב הזה, הערך של המאפיין |
|---|---|
| נוכחות | אופציונלי |
| סוג | מחרוזת |
אלמנט <CacheContext>/<APIProxyName>
מציין את שם האפליקציה שהוסיפה את רשומת המטמון.
<APIProxyName>application_that_added_the_entry</APIProxyName>
מאפיינים
| מאפיין | תיאור | ברירת מחדל | נוכחות | סוג |
|---|---|---|---|---|
| ref | משתנה עם שם האפליקציה. | לא רלוונטי | אופציונלי | מחרוזת |
רכיב <CacheContext>
המאפיין הזה מציין איך ליצור מפתח מטמון כשלא מציינים ערך של רכיב Prefix, או כדי לנקות רשומות במטמון שנוספו על ידי proxy ל-API אחר.
<CacheContext> <APIProxyName ref="variable_name">application_that_added_the_entry</APIProxyName> <TargetName ref="variable_name">endpoint_for_which_data_was_cached</TargetName> <ProxyName ref="variable_name">proxy_for_which_data_was_cached</ProxyName> </CacheContext>
משמש לבניית CacheKey. הערכים של APIProxyName, ProxyName ו-TargetName הם חובה כשלא משתמשים בקידומת CacheKey (כלומר, קידומת בהתאמה אישית) כדי לנקות רשומות במטמון שנוספו על ידי שרת proxy אחר של API.
אלמנט <CacheKey>
הגדרת מצביע ייחודי לחלק מנתונים שמאוחסנים במטמון.
<CacheKey> <Prefix>string</Prefix> <KeyFragment ref="variable_name" /> <KeyFragment>literal_string</KeyFragment> </CacheKey>
|
ברירת מחדל: |
לא רלוונטי |
|
נוכחות: |
חובה |
|
סוג: |
לא רלוונטי |
<CacheKey> בונה את השם של כל נתון שמאוחסן במטמון.
בזמן הריצה, הערכים של <KeyFragment> מתווספים לפני הערך של רכיב <Scope> או הערך של <Prefix>. לדוגמה, הקוד הבא יוצר מפתח מטמון של UserToken__apiAccessToken__<value_of_client_id>:
<CacheKey>
<Prefix>UserToken</Prefix>
<KeyFragment>apiAccessToken</KeyFragment>
<KeyFragment ref="request.queryparam.client_id" />
</CacheKey>משתמשים ברכיב <CacheKey> בשילוב עם <Prefix> ועם <Scope>. מידע נוסף זמין במאמר עבודה עם מפתחות מטמון.
רכיב <CacheResource>
מציין את המטמון שבו ההודעות צריכות להיות מאוחסנות.
אם המדיניות הזו (והמדיניות התואמת PopulateCache ו-LookupCache) משתמשת במטמון המשותף הכלול, צריך להשמיט את הרכיב הזה לחלוטין.
<CacheResource>cache_to_use</CacheResource>
|
ברירת מחדל: |
לא רלוונטי |
|
נוכחות: |
אופציונלי |
|
סוג: |
מחרוזת |
מידע נוסף על הגדרת מטמון זמין במאמר יצירה ועריכה של מטמון סביבה.
אלמנט <CacheKey>/<KeyFragment>
מציינים ערך שייכלל במפתח המטמון, וכך יוצרים מרחב שמות להתאמת בקשות לתגובות שמאוחסנות במטמון.
<KeyFragment ref="variable_name"/> <KeyFragment>literal_string</KeyFragment>
|
ברירת מחדל: |
לא רלוונטי |
|
נוכחות: |
אופציונלי |
|
סוג: |
לא רלוונטי |
זה יכול להיות מפתח (שם סטטי שאתם מספקים) או ערך (רשומה דינמית שמוגדרת על ידי הפניה למשתנה). כל המקטעים שצוינו (בתוספת הקידומת) משורשרים כדי ליצור את מפתח המטמון.
<KeyFragment>apiAccessToken</KeyFragment> <KeyFragment ref="request.queryparam.client_id" />
משתמשים ברכיב <KeyFragment> בשילוב עם <Prefix> ועם <Scope>. מידע נוסף זמין במאמר עבודה עם מפתחות מטמון.
מאפיינים
| מאפיין | תיאור | ברירת מחדל | נוכחות | סוג |
|---|---|---|---|---|
| ref | המשתנה שממנו יתקבל הערך. אין להשתמש במאפיין הזה אם הרכיב הזה מכיל ערך מילולי. | לא רלוונטי | אופציונלי | מחרוזת |
אלמנט <CacheKey>/<Prefix>
מציינת ערך לשימוש כקידומת של מפתח מטמון.
<Prefix>prefix_string</Prefix>
|
ברירת מחדל: |
לא רלוונטי |
|
נוכחות: |
אופציונלי |
|
סוג: |
מחרוזת |
אם רוצים לציין ערך משלכם במקום ערך מתוך רשימת הערכים המותרים של <Scope>, צריך להשתמש בערך הזה במקום ב-<Scope>. אם מוגדר,
<Prefix> מוסיף את ערך מפתח המטמון לפני רשומות שנכתבות במטמון. ערך של רכיב <Prefix> מבטל ערך של רכיב <Scope>.
משתמשים ברכיב <Prefix> בשילוב עם <CacheKey> ועם <Scope>. מידע נוסף זמין במאמר עבודה עם מפתחות מטמון.
אלמנט <CacheContext>/<ProxyName>
ההגדרה הזו מציינת את שם ה-proxy שעבורו הנתונים נשמרו במטמון.
<ProxyName>proxy_for_which_data_was_cached</ProxyName>
|
ברירת מחדל: |
לא רלוונטי |
|
נוכחות: |
אופציונלי |
|
סוג: |
מחרוזת |
מאפיינים
| מאפיין | תיאור | ברירת מחדל | נוכחות | סוג |
|---|---|---|---|---|
| ref | המשתנה שממנו יתקבל הערך. אין להשתמש במאפיין הזה אם הרכיב הזה מכיל ערך מילולי. | לא רלוונטי | אופציונלי | מחרוזת |
רכיב <PurgeChildEntries>
true כדי למחוק רשומות במטמון שמשתמשות בערך שהוגדר על ידי רכיב <KeyFragment> שהוגדר למדיניות הזו. המערכת לא מתייחסת לערכים בחלקים אחרים של מפתח המטמון, כמו ברכיבי <Prefix>.
שימו לב: צריך לציין את הרכיב <KeyFragment>. אם לא, הגדרת הערך True למאפיין <PurgeChildEntries> עלולה לגרום למחיקת כל הערכים במטמון.
ביטול התוקף של כל רשומות המטמון עם אותו ערך של קטע מפתח יכול להיות דרך שימושית למחיקה של כמה רשומות קשורות בבת אחת.
<PurgeChildEntries>true_to_purge_child_entries</PurgeChildEntries>
|
ברירת מחדל: |
false |
|
נוכחות: |
אופציונלי |
|
סוג: |
בוליאני |
אלמנט <Scope>
ספירה שמשמשת ליצירת תחילית למפתח מטמון כשלא מסופק רכיב <Prefix> ברכיב <CacheKey>.
<Scope>scope_enumeration</Scope>
|
ברירת מחדל: |
"Exclusive" (בלעדי) |
|
נוכחות: |
אופציונלי |
|
סוג: |
מחרוזת |
ההגדרה <Scope> קובעת מפתח מטמון שמוסף לפני הערך של <Scope>. לדוגמה, מפתח מטמון יקבל את הצורה הבאה כשההיקף מוגדר ל-Exclusive:
orgName__envName__applicationName__deployedRevisionNumber__proxy|TargetName__ [ serializedCacheKey ].
אם רכיב <Prefix> מופיע ב-<CacheKey>, הוא מחליף את הערך של רכיב <Scope>. הערכים החוקיים כוללים את הערכים המפורטים בהמשך.
משתמשים ברכיב <Scope> בשילוב עם <CacheKey> ועם <Prefix>. מידע נוסף זמין במאמר עבודה עם מפתחות מטמון.
ערכים קבילים
| ערך ההיקף | תיאור |
|---|---|
Global |
מפתח המטמון משותף לכל שרתי ה-API proxy שנפרסו בסביבה. מפתח המטמון מתווסף בתחילת השורה בפורמט orgName __ envName __. אם מגדירים רשומה של |
Application |
שם ה-proxy ל-API משמש כקידומת. מפתח המטמון מתווסף בתחילת השם בפורמט orgName__envName__applicationName. |
Proxy |
ההגדרה ProxyEndpoint משמשת כקידומת. מפתח המטמון מתווסף בתחילת השם בפורמט orgName__envName__applicationName__deployedRevisionNumber__proxyEndpointName . |
Target |
ההגדרה TargetEndpoint משמשת כקידומת. מפתח המטמון מתווסף בתחילת המחרוזת בפורמט הבא: orgName__envName__applicationName__deployedRevisionNumber__targetEndpointName . |
Exclusive |
ברירת מחדל. זהו הערך הספציפי ביותר, ולכן הסיכון להתנגשויות במרחב השמות במטמון נתון הוא מינימלי. התחילית יכולה להיות אחת משתי צורות:
מפתח המטמון מופיע בתחילת השורה בפורמט orgName__envName__applicationName__deployedRevisionNumber__proxyNameITargetName לדוגמה, המחרוזת המלאה יכולה להיראות כך: apifactory__test__weatherapi__16__default__apiAccessToken |
אלמנט <CacheContext>/<TargetName>
מציין את השם של נקודת הקצה של היעד שעבורה הנתונים נשמרו במטמון.
<TargetName>endpoint_for_which_data_was_cached</TargetName>
|
ברירת מחדל: |
לא רלוונטי |
|
נוכחות: |
אופציונלי |
|
סוג: |
מחרוזת |
מאפיינים
| מאפיין | תיאור | ברירת מחדל | נוכחות | סוג |
|---|---|---|---|---|
| ref | המשתנה שממנו יתקבל הערך. אין להשתמש במאפיין הזה אם הרכיב הזה מכיל ערך מילולי. | לא רלוונטי | אופציונלי | מחרוזת |
הערות שימוש
אפשר להשתמש במטמון למטרות כלליות באמצעות המדיניות Populate Cache, LookupCache ו-InvalidateCache. המערכת משתמשת במטמון שהגדרתם או במטמון משותף שכלול כברירת מחדל. ברוב המקרים, המטמון המשותף הבסיסי אמור לענות על הצרכים שלכם. כדי להשתמש במטמון הזה,
פשוט משמיטים את הרכיב <CacheResource>.
מידע נוסף על הגדרת מטמון זמין במאמר יצירה ועריכה של מטמון סביבה. מידע נוסף על מאגר הנתונים הבסיסי זמין במאמר Cache internals.
קודי שגיאה
בקטע הזה מתוארות הודעות השגיאה ומשתני הזרימה שמוגדרים כשהמדיניות הזו גורמת לשגיאה. חשוב לדעת אם מפתחים כללים לתקלה בשרת proxy. מידע נוסף זמין במאמר מה צריך לדעת על שגיאות מדיניות ועל טיפול בפגמים.
קידומת קוד שגיאה
לא רלוונטי
שגיאות בזמן ריצה
המדיניות הזו לא גורמת לשגיאות זמן ריצה.
שגיאות בפריסה
השגיאות האלה יכולות להתרחש כשפורסים שרת proxy שכולל את המדיניות הזו.
| שם השגיאה | סיבה | תיקון |
|---|---|---|
InvalidCacheResourceReference |
השגיאה הזו מתרחשת אם הרכיב <CacheResource> במדיניות InvalidateCache מוגדר
לשם שלא קיים בסביבה שבה נפרס שרת ה-proxy של ה-API. |
build |
CacheNotFound |
השגיאה הזו מתרחשת אם המטמון הספציפי שצוין בהודעת השגיאה לא נוצר ברכיב מסוים של מעבד ההודעות. | build |
משתני שבר
לא רלוונטי
דוגמה לשגיאה
לא רלוונטי