אתם צופים במסמכי התיעוד של Apigee Edge.
כדאי לעיין במסמכי התיעוד של Apigee X. מידע
הוא שומר במטמון נתונים ממשאב בקצה העורפי, וכך מצמצם את מספר הבקשות למשאב. כשאפליקציות שולחות בקשות לאותו URI, אפשר להשתמש במדיניות הזו כדי להחזיר תשובות שמאוחסנות במטמון במקום להעביר את הבקשות האלה לשרת העורפי. המדיניות ResponseCache יכולה לשפר את הביצועים של ה-API באמצעות הפחתה של זמן האחזור ותעבורת הרשת.
סביר להניח שהשימוש ב-ResponseCache יהיה הכי יעיל כשנתוני ה-Backend שמשמשים את ה-API מתעדכנים רק מעת לעת. לדוגמה, נניח שיש לכם API שחושף נתונים של דוח מזג אוויר שמתעדכנים רק כל עשר דקות. באמצעות ResponseCache להחזרת תגובות שנשמרו במטמון בין רענונים, אפשר להקטין את מספר הבקשות שמגיעות לקצה העורפי. בנוסף, היא מצמצמת את מספר הקפיצות ברשת.
לשמירת נתונים במטמון לטווח קצר למטרות כלליות, כדאי להשתמש במדיניות Populate Cache. המדיניות הזו משמשת בשילוב עם המדיניות של מטמון החיפוש (לקריאת רשומות במטמון) ועם המדיניות של ביטול התוקף של המטמון (לביטול התוקף של רשומות).
כדאי לצפות בסרטון הזה כדי לקבל מבוא למדיניות של מטמון התגובות.
דוגמאות
מטמון ל-10 דקות
בדוגמה הזו אפשר לראות איך לשמור תשובות במטמון למשך 10 דקות.
נניח שיש לכם API בכתובת ה-URL הבאה:
http://{org_name}-test.apigee.net/weather/forecastrss?w=23424778אתם משתמשים בפרמטר השאילתה w כמפתח מטמון. Apigee Edge בודק את הערך של פרמטר השאילתה w בכל פעם שמתקבלת בקשה. אם יש תגובה תקפה (כלומר, לא פג תוקפה) במטמון, הודעת התגובה שנשמרה במטמון מוחזרת ללקוח ששלח את הבקשה.
נניח שהגדרתם מדיניות ResponseCache באופן הבא.
<ResponseCache name="ResponseCache">
<CacheKey>
<KeyFragment ref="request.queryparam.w" />
</CacheKey>
<ExpirySettings>
<TimeoutInSeconds>600</TimeoutInSeconds>
</ExpirySettings>
</ResponseCache>בפעם הראשונה ש-proxy ל-API מקבל הודעת בקשה לכתובת ה-URL הבאה, התשובה נשמרת במטמון. בבקשה השנייה תוך 10 דקות, מתבצעת בדיקה במטמון – התגובה שנשמרה במטמון מוחזרת לאפליקציה בלי שהבקשה מועברת לשירות הקצה העורפי.
http://{org_name}-test.apigee.net/weather/forecastrss?w=23424778דילוג על חיפוש במטמון
בדוגמה הבאה אפשר לראות איך מדלגים על חיפוש במטמון ומרעננים את המטמון. מידע נוסף זמין גם בסרטון הזה בנושא השימוש ב-SkipCacheLookup.
התנאי האופציונלי SkipCacheLookup (אם הוא מוגדר) מוערך בנתיב הבקשה. אם התנאי מקבל את הערך true, המערכת מדלגת על החיפוש במטמון ומבצעת רענון של המטמון.
שימוש נפוץ ברענון מטמון מותנה הוא תנאי שמגדיר כותרת HTTP ספציפית שגורמת לתנאי להיות true. אפשר להגדיר אפליקציית לקוח מבוססת סקריפט כך שתשלח בקשה עם כותרת HTTP מתאימה באופן תקופתי, וכך תגרום לרענון של מטמון התגובות.
לדוגמה, נניח שמתבצעת קריאה ל-API בכתובת ה-URL הבאה:
'http://{org_name}-test.apigee.net/weather/forecastrss?w=23424778' -H "bypass-cache:true"עכשיו נניח שמדיניות ResponseCache הבאה מוגדרת בשרת ה-proxy הזה. שימו לב שהתנאי bypass-cache מוגדר כ-true.
<ResponseCache name="ResponseCache">
<CacheKey>
<KeyFragment ref="request.queryparam.w" />
</CacheKey>
<!-- Explicitly refresh the cached response -->
<SkipCacheLookup>request.header.bypass-cache = "true"</SkipCacheLookup>
<ExpirySettings>
<TimeoutInSeconds>600</TimeoutInSeconds>
</ExpirySettings>
</ResponseCache>מידע נוסף על תנאים זמין במאמר משתני זרימה ותנאים.
הפניה לרכיב
הפניה לרכיב מתארת את הרכיבים והמאפיינים של המדיניות.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ResponseCache async="false" continueOnError="false" enabled="true" name="Response-Cache-1"> <DisplayName>Response Cache 1</DisplayName> <Properties/> <CacheKey> <Prefix/> <KeyFragment ref="request.uri" /> </CacheKey> <Scope>Exclusive</Scope> <ExpirySettings> <ExpiryDate/> <TimeOfDay/> <TimeoutInSeconds ref="flow.variable.here">300</TimeoutInSeconds> </ExpirySettings> <CacheResource>cache_to_use</CacheResource> <CacheLookupTimeoutInSeconds/> <ExcludeErrorResponse/> <SkipCacheLookup/> <SkipCachePopulation/> <UseAcceptHeader/> <UseResponseCacheHeaders/> </ResponseCache>
מאפיינים של <ResponseCache>
<ResponseCache async="false" continueOnError="false" enabled="true" name="Response-Cache-1">
בטבלה הבאה מתוארים מאפיינים שמשותפים לכל רכיבי ההורה של המדיניות:
| מאפיין | תיאור | ברירת מחדל | נוכחות |
|---|---|---|---|
name |
השם הפנימי של המדיניות. הערך של המאפיין אפשר להשתמש ברכיב |
לא רלוונטי | חובה |
continueOnError |
צריך להגדיר את הערך יש להגדיר ל- |
false | אופציונלי |
enabled |
צריך להגדיר את הערך צריך להגדיר את הערך |
true | אופציונלי |
async |
המאפיין הזה הוצא משימוש. |
false | הוצא משימוש |
<DisplayName> רכיב
צריך להשתמש בנוסף למאפיין name כדי להוסיף תווית למדיניות
עורך proxy של ממשק משתמש לניהול עם שם אחר בשפה טבעית.
<DisplayName>Policy Display Name</DisplayName>
| ברירת מחדל |
לא רלוונטי אם משמיטים את הרכיב הזה, הערך של המאפיין |
|---|---|
| נוכחות | אופציונלי |
| סוג | מחרוזת |
אלמנט <CacheKey>
הגדרת מצביע ייחודי לחלק מנתונים שמאוחסנים במטמון.
גודל מפתחות המטמון מוגבל ל-2KB.
<CacheKey> <Prefix>string</Prefix> <KeyFragment ref="variable_name" /> <KeyFragment>literal_string</KeyFragment> </CacheKey>
|
ברירת מחדל: |
לא רלוונטי |
|
נוכחות: |
חובה |
|
סוג: |
לא רלוונטי |
<CacheKey> בונה את השם של כל נתון שמאוחסן במטמון.
המפתח מוגדר לעיתים קרובות באמצעות ערך מכותרות של ישויות או מפרמטרים של שאילתות. במקרים כאלה, מאפיין ה-ref של האלמנט יציין משתנה שמכיל את ערך המפתח.
בזמן הריצה, הערכים של <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>. מידע נוסף זמין במאמר עבודה עם מפתחות מטמון.
רכיב <CacheLookupTimeoutInSeconds>
המאפיין הזה מציין את מספר השניות שאחריהן חיפוש במטמון שלא הצליח ייחשב כאי מציאה במטמון. אם זה קורה, התהליך ממשיך לאורך הנתיב של אי מציאה במטמון.
<CacheLookupTimeoutInSeconds>30</CacheLookupTimeoutInSeconds>
|
ברירת מחדל: |
30 |
|
נוכחות: |
אופציונלי |
|
סוג: |
מספר שלם |
רכיב <CacheResource>
מציין את המטמון שבו ההודעות צריכות להיות מאוחסנות. אם לא מציינים את הרכיב הזה, נעשה שימוש במטמון המשותף שכלול. אם רוצים שיהיה אפשר למחוק באופן אדמיניסטרטיבי רשומות שנמצאות במטמון, צריך לציין CacheResource לפי שם. מידע נוסף זמין במאמר בנושא מטמון.
<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>. מידע נוסף זמין במאמר עבודה עם מפתחות מטמון.
אלמנט <ExcludeErrorResponse>
נכון לעכשיו, כברירת מחדל, המדיניות הזו שומרת במטמון תגובות HTTP עם כל קוד סטטוס אפשרי. כלומר, גם תגובות של הצלחה וגם תגובות של שגיאה נשמרות במטמון. לדוגמה, תשובות עם קודי סטטוס 2xx ו-3xx נשמרות במטמון כברירת מחדל.
מגדירים את הרכיב הזה לערך true אם לא רוצים לשמור במטמון תגובות של יעד עם קודי סטטוס של שגיאת HTTP. רק תגובות עם קודי סטטוס מ-200 עד 205 יישמרו במטמון אם הערך של הרכיב הזה הוא true. אלה קודי המצב היחידים של HTTP ש-Edge סופר כקודי 'הצלחה', ואי אפשר לשנות את השיוך הזה.
בפוסט הזה בקהילה יש דיון על דפוסי מטמון של תשובות שבהם הרכיב הזה שימושי.
הערה: בגרסה עתידית (שעדיין לא נקבעה), הגדרת ברירת המחדל של הרכיב הזה תשתנה ל-true. פרטים נוספים זמינים בהערות המוצר של Apigee.
<ExcludeErrorResponse>true</ExcludeErrorResponse>
|
ברירת מחדל: |
false |
|
נוכחות: |
אופציונלי |
|
סוג: |
בוליאני |
אלמנט <ExpirySettings>
מציין מתי תוקף של רשומה במטמון יפוג. אם מציינים את הערך <TimeoutInSeconds>, הוא מבטל את הערכים של <TimeOfDay> ו-<ExpiryDate>.
<ExpirySettings> <TimeOfDay ref="time_variable">expiration_time</TimeOfDay> <TimeoutInSeconds ref="duration_variable">seconds_until_expiration</TimeoutInSeconds> <ExpiryDate ref="date_variable">expiration_date</ExpiryDate> </ExpirySettings>
|
ברירת מחדל: |
לא רלוונטי |
|
נוכחות: |
חובה |
|
סוג: |
לא רלוונטי |
<ExpirySettings>/<ExpiryDate> element
מציין את התאריך שבו רשומה במטמון אמורה לפוג. משתמשים בטופס mm-dd-yyyy.
אם הרכיב הזה קיים, הרכיב <TimeoutInSeconds> שבאותה רמה מבטל את <ExpiryDate>.
<ExpirySettings> <ExpiryDate ref="{date_variable}">expiration_date</ExpiryDate> </ExpirySettings>
|
ברירת מחדל: |
לא רלוונטי |
|
נוכחות: |
אופציונלי |
|
סוג: |
מחרוזת |
מאפיינים
<ExpiryDate ref="" />
| מאפיין | תיאור | ברירת מחדל | נוכחות | סוג |
|---|---|---|---|---|
| ref |
המשתנה שממנו יתקבל הערך. אין להשתמש במאפיין הזה אם הרכיב הזה מכיל ערך מילולי. |
לא רלוונטי | אופציונלי | מחרוזת |
אלמנט <ExpirySettings>/<TimeOfDay>
השעה ביום שבה רשומה במטמון אמורה לפוג. משתמשים בטופס hh:mm:ss .
אם הרכיב הזה קיים, הרכיב <TimeoutInSeconds> שבאותה רמה מבטל את <TimeOfDay>.
מזינים את השעה בפורמט HH:mm:ss, כאשר HH מייצג את השעה בשעון של 24 שעות. לדוגמה, 14:30:00 לשעה 14:30 בצהריים.
לגבי השעה ביום, המקום ואזור הזמן שמוגדרים כברירת מחדל משתנים בהתאם למקום שבו הקוד פועל (שלא ידוע כשמגדירים את המדיניות). מידע על הגדרת הלוקאל זמין במאמר יצירה ועריכה של מטמון סביבה.
<ExpirySettings> <TimeOfDay ref="time_variable">expiration_time</TimeOfDay> </ExpirySettings>
|
ברירת מחדל: |
לא רלוונטי |
|
נוכחות: |
אופציונלי |
|
סוג: |
מחרוזת |
מאפיינים
| מאפיין | תיאור | ברירת מחדל | נוכחות | סוג |
|---|---|---|---|---|
| ref | משתנה עם ערך של זמן התפוגה. | לא רלוונטי | אופציונלי | מחרוזת |
אלמנט <ExpirySettings>/<TimeoutInSec>
מספר השניות שאחריהן תוקף של רשומה במטמון יפוג.
אלמנט <ExpirySettings>/<TimeoutInSeconds>
מספר השניות שאחריהן תוקף של רשומה במטמון יפוג. אם הרכיב הזה קיים, הוא מבטל את הרכיבים מאותה רמה, <TimeOfDay> ו-<ExpiryDate>.
<ExpirySettings> <TimeoutInSeconds ref="duration_variable">seconds_until_expiration</TimeoutInSeconds> </ExpirySettings>
הערה: צריך לציין ערך ברירת מחדל של זמן קצוב לתפוגה, שישמש אם לא יתקבל ערך מההפניה אל
duration_variable.
|
ברירת מחדל: |
לא רלוונטי |
|
נוכחות: |
אופציונלי |
|
סוג: |
מחרוזת |
מאפיינים
| מאפיין | תיאור | ברירת מחדל | נוכחות | סוג |
|---|---|---|---|---|
| ref | משתנה עם ערך הזמן הקצוב לתפוגה. |
לא רלוונטי
|
אופציונלי | מחרוזת |
אלמנט <Scope>
ספירה שמשמשת ליצירת תחילית למפתח מטמון כשלא מסופק רכיב <Prefix> ברכיב <CacheKey>.
<Scope>scope_enumeration</Scope>
|
ברירת מחדל: |
"Exclusive" (בלעדי) |
|
נוכחות: |
אופציונלי |
|
סוג: |
מחרוזת |
ההגדרה <Scope> קובעת מפתח מטמון שמוסף לפני הערך של <Scope>. לדוגמה, מפתח מטמון יקבל את הפורמט הבא אם ההיקף מוגדר ל-Exclusive:
orgName__envName__apiProxyName__deployedRevisionNumber__proxy|TargetName__ [
serializedCacheKey ].
אם רכיב <Prefix> מופיע ב-<CacheKey>, הוא מחליף את הערך של רכיב <Scope>. הערכים החוקיים כוללים את הערכים המפורטים בהמשך.
משתמשים ברכיב <Scope> בשילוב עם <CacheKey> ועם <Prefix>. מידע נוסף זמין במאמר עבודה עם מפתחות מטמון.
ערכים קבילים
| ערך ההיקף | תיאור |
|---|---|
Global |
מפתח המטמון משותף לכל שרתי ה-API proxy שנפרסו בסביבה. מפתח המטמון מתווסף בתחילת השורה בפורמט orgName __ envName __. אם מגדירים רשומה של |
Application |
שם ה-proxy ל-API משמש כקידומת. מפתח המטמון מתווסף בתחילת השם בפורמט orgName__envName__apiProxyName. |
Proxy |
ההגדרה ProxyEndpoint משמשת כקידומת. מפתח המטמון מתווסף בתחילת השם בפורמט orgName__envName__apiProxyName__deployedRevisionNumber__proxyEndpointName . |
Target |
ההגדרה TargetEndpoint משמשת כקידומת. מפתח המטמון מתווסף בתחילת השם בפורמט orgName__envName__apiProxyName__deployedRevisionNumber__targetEndpointName . |
Exclusive |
ברירת מחדל. זהו הערך הספציפי ביותר, ולכן הסיכון להתנגשויות במרחב השמות במטמון נתון הוא מינימלי. התחילית יכולה להיות אחת משתי צורות:
מפתח המטמון מופיע בתחילת השורה בפורמט orgName__envName__apiProxyName__deployedRevisionNumber__proxyNameITargetName לדוגמה, המחרוזת המלאה יכולה להיראות כך: apifactory__test__weatherapi__16__default__apiAccessToken |
אלמנט <SkipCacheLookup>
הפונקציה מגדירה ביטוי שאם הערך שלו הוא True בזמן הריצה, מציין שצריך לדלג על חיפוש במטמון ולרענן את המטמון. אפשר גם לצפות בסרטון הזה על השימוש ב-SkipCacheLookup.
<SkipCacheLookup>variable_condition_expression</SkipCacheLookup>
|
ברירת מחדל: |
לא רלוונטי |
|
נוכחות: |
אופציונלי |
|
סוג: |
מחרוזת |
בדוגמה הבאה, אם המשתנה bypass-cache מוגדר כ-true בכותרת נכנסת, חיפוש במטמון מדלג על המטמון והמטמון מתרענן.
<SkipCacheLookup>request.header.bypass-cache = "true"</SkipCacheLookup>
אלמנט <SkipCachePopulation>
הגדרה של ביטוי שאם הערך שלו הוא true בזמן הריצה, מציין שצריך לדלג על כתיבה למטמון. אפשר לצפות גם בסרטון הזה על השימוש ב-SkipCachePopulation.
<SkipCachePopulation>variable_condition_expression</SkipCachePopulation>
|
ברירת מחדל: |
לא רלוונטי |
|
נוכחות: |
אופציונלי |
|
סוג: |
מחרוזת |
לדוגמה, הפעולות הבאות ידלגו על כתיבת המטמון אם קוד סטטוס התגובה היה 400 או גבוה יותר:
<SkipCachePopulation>response.status.code >= 400</SkipCachePopulation>
רכיב <UseAcceptHeader>
הערך true גורם להוספת ערכים מכותרות Accept של התגובה למפתח המטמון של רשומה במטמון התגובות.
כשמחשבים את מפתח המטמון, משתמשים בכותרות הבקשה Accept, Accept-Encoding, Accept-Language ו-Accept-Charset. הגישה הזו מונעת מלקוח לקבל סוג מדיה שהוא לא ביקש.
לדוגמה, נניח שמתקבלות שתי בקשות מאותה כתובת URL, כאשר הבקשה הראשונה מקבלת gzip והשנייה לא. הבקשה הראשונה תישמר במטמון, והרשומה שנשמרה במטמון תהיה (כנראה) תגובה דחוסה ב-gzip. הבקשה השנייה תקרא את הערך שנשמר במטמון, ואז עשויה להחזיר רשומה בפורמט gzip ללקוח שלא יכול לקרוא gzip.
מידע נוסף מופיע במאמר הגדרת מפתח מטמון.
<UseAcceptHeader>false</UseAcceptHeader>
|
ברירת מחדל: |
false |
|
נוכחות: |
אופציונלי |
|
סוג: |
בוליאני |
רכיב <UseResponseCacheHeaders>
הערך true גורם להתייחסות לכותרות של תגובות HTTP כשמגדירים את אורך החיים (TTL) של התגובה במטמון. אם הערך הוא true, Edge מתייחס לערכים של כותרות התגובה הבאות ומשווה את הערכים לאלה שהוגדרו על ידי <ExpirySettings> כשמגדירים את משך החיים (TTL):
Cache-Control s-maxageCache-Control max-ageExpires
פרטים נוספים זמינים במאמר בנושא הגדרת תפוגה של רשומות במטמון.
<UseResponseCacheHeaders>false</UseResponseCacheHeaders>
|
ברירת מחדל: |
false |
|
נוכחות: |
אופציונלי |
|
סוג: |
בוליאני |
הערות שימוש
הגודל המקסימלי של כל אובייקט שנשמר במטמון הוא 256KB. (מידע מפורט על אופן העיבוד של המטמון ב-Edge זמין במאמר Cache internals).
באמצעות הגדרה במדיניות ResponseCache, אפשר לגרום ל-Edge לכלול כותרות של תגובות HTTP בהגדרת תפוגה של רשומת מטמון ומפתחות מטמון. בקטע הזה מוסבר איך להשתמש במדיניות עם כותרות כדי לנהל את תפוגת המטמון ואת מפתחות המטמון.
מידע נוסף על האופן שבו Edge מטפל בכותרות של תגובות באמצעות מדיניות ResponseCache זמין במאמר תמיכה בכותרות של תגובות HTTP.
הגדרת תפוגה של רשומה במטמון
בדומה למדיניות Populate Cache, אפשר להגדיר את אורך החיים (TTL) של רשומה במטמון התגובות באמצעות הרכיב <ExpirySettings>. במדיניות ResponseCache, אפשר גם להגדיר ש-Edge יתייחס לכותרות של תגובות כשהן קיימות.
כדי להשתמש בכותרות תגובה, מגדירים את ערך הרכיב <UseResponseCacheHeaders> ל-true. ההגדרה הזו גורמת ל-Edge להתייחס לכותרות התגובה, להשוות אותן לערך שהוגדר על ידי <ExpirySettings>, ואז להשתמש בערך הנמוך מבין השניים. כשמביאים בחשבון את כותרות התגובה, Edge בוחר את הערך שזמין כמו שמתואר בהמשך:

לדוגמה, נניח שתגובה נשמרת במטמון עם הערכים הבאים:
- אין ערך
Cache-Control s-maxage - ערך
Cache-Control max-ageשל 300 - תאריך
Expiresבעוד שלושה ימים - ערך של
<ExpirySettings>TimeoutInSecondsהוא 600.
במקרה הזה, הערך של Cache-Control max-age ישמש כ-TTL כי הוא נמוך מהערך של <ExpirySettings> וכי לא צוין ערך של Cache-Control s-maxage (שקודם לערך של max-age).
הגדרת מפתח מטמון
בדומה למדיניות כללית של מטמון, כמו מדיניות Populate Cache, במדיניות ResponseCache משתמשים ברכיבים <CacheKey> ו-<Scope> כדי להגדיר יצירה של מפתח מטמון עבור רשומות במטמון. בעזרת ResponseCache אפשר גם להוסיף משמעות למפתחות של מטמון על ידי צירוף כותרות Accept של תגובות לערכי מפתח.
מידע כללי על הגדרת מפתחות מטמון זמין במאמר עבודה עם מפתחות מטמון. מידע על שימוש בכותרות Accept זמין במאמר <UseAcceptHeader>.
מידע על הצפנת מטמון
Edge for Public Cloud: מטמון מוצפן רק בארגונים שמופעלים בהם PCI ו-HIPAA. ההצפנה בארגונים האלה מוגדרת במהלך הקצאת ההרשאות לארגון.
משתני זרימה
משתני ה-Flow המוגדרים מראש הבאים מאוכלסים כשמבצעים מדיניות ResponseCache. מידע נוסף על משתני Flow זמין במאמר חומר עזר בנושא משתנים.
| משתנים | סוג | הרשאה | תיאור |
|---|---|---|---|
responsecache.{policy_name}.cachename |
מחרוזת | הרשאת קריאה בלבד | החזרת המטמון שנעשה בו שימוש במדיניות |
responsecache.{policy_name}.cachekey |
מחרוזת | הרשאת קריאה בלבד | החזרת המפתח שבו נעשה שימוש |
responsecache.{policy_name}.cachehit |
בוליאני | הרשאת קריאה בלבד | True אם ביצוע המדיניות הצליח |
responsecache.{policy_name}.invalidentry |
בוליאני | הרשאת קריאה בלבד | הערך True אם רשומת המטמון לא תקפה |
קודי שגיאה
בקטע הזה מתוארות הודעות השגיאה ומשתני הזרימה שמוגדרים כשהמדיניות הזו גורמת לשגיאה. חשוב לדעת אם מפתחים כללים לתקלה בשרת proxy. מידע נוסף זמין במאמר מה צריך לדעת על שגיאות מדיניות ועל טיפול בפגמים.
קידומת קוד שגיאה
לא רלוונטי
שגיאות בזמן ריצה
המדיניות הזו לא גורמת לשגיאות זמן ריצה.
שגיאות בפריסה
השגיאות האלה יכולות להתרחש כשפורסים שרת proxy שכולל את המדיניות הזו.
| שם השגיאה | סיבה | תיקון |
|---|---|---|
InvalidTimeout |
אם הרכיב <CacheLookupTimeoutInSeconds> במדיניות ResponseCache מוגדר למספר שלילי, הפריסה של שרת ה-proxy של ה-API תיכשל. |
build |
InvalidCacheResourceReference |
השגיאה הזו מתרחשת אם הרכיב <CacheResource> במדיניות של ResponseCache מוגדר לשם
שלא קיים בסביבה שבה נפרס שרת ה-proxy של ה-API. |
build |
ResponseCacheStepAttachmentNotAllowedReq |
השגיאה הזו מתרחשת אם אותה מדיניות ResponseCache מצורפת לכמה נתיבי בקשות בתוך זרימות של שרת proxy ל-API. | build |
ResponseCacheStepAttachmentNotAllowedResp |
השגיאה הזו מתרחשת אם אותה מדיניות ResponseCache מצורפת לכמה נתיבי תגובה בתוך זרימות כלשהן של שרת proxy ל-API. | build |
InvalidMessagePatternForErrorCode |
השגיאה הזו מתרחשת אם הרכיב <SkipCacheLookup> או הרכיב <SkipCachePopulation>
במדיניות ResponseCache מכילים תנאי לא חוקי. |
build |
CacheNotFound |
השגיאה הזו מתרחשת אם המטמון הספציפי שצוין בהודעת השגיאה לא נוצר ברכיב מסוים של מעבד ההודעות. | build |
משתני שבר
לא רלוונטי
דוגמה לשגיאה
לא רלוונטי
סכימה
כל סוג מדיניות מוגדר על ידי סכימת XML (.xsd). סכימות מדיניות זמינות ב-GitHub.