ביטול תוקף של מטמון (או ניקוי מטמון) הוא תהליך שבו מצהירים על תוכן שנשמר במטמון כתוכן לא תקף. הפעולה הזו מסירה את התוכן מהמטמון, וכך הבקשה הבאה נשלפת ישירות משרת המקור.
Media CDN תומך בכמה דרכים לבחירת תוכן לביטול תוקף, כמו שמתואר בהמשך:
- מארח ונתיב כתובת ה-URL
- קידומת של כתובת URL (תו כללי)
- תגי מטמון, כולל תגים מובנים של
status,originו-content-type
אפשר לשלב בין הפרמטרים האלה של ביטול תוקף כדי לטרגט תגובות ספציפיות שנשמרו במטמון ולמזער את העומס על השרת המקורי במילוי הבא של המטמון.
תחביר פסילה נתמך
התחביר הנתמך לביטול תוקף הוא:
| סוג | תחביר | דוגמה |
|---|---|---|
| ביטול תוקף של מארח | ביטול תוקף של תגובות שנשמרו במטמון עבור המארח שצוין. |
gcloud edge-cache services invalidate-cache
SERVICE_NAME \
|
| ביטול תוקף של נתיב | ביטול התוקף של תגובות ששמורות במטמון עבור הנתיב או קידומת הנתיב שצוינו. |
gcloud edge-cache services invalidate-cache
SERVICE_NAME \
gcloud edge-cache services invalidate-cache
SERVICE_NAME \
|
| ביטול תוקף של תג מטמון לפי קוד סטטוס של HTTP, שם מקור או סוג MIME |
פסילת תשובות שמורות במטמון עם תג תואם. המערכת מתייחסת לכמה תגים כאל ערך בוליאני OR.
|
gcloud edge-cache services invalidate-cache
SERVICE_NAME \
gcloud edge-cache services invalidate-cache
SERVICE_NAME \
|
הערות:
- אפשר לציין עד 10 תגי מטמון בבקשת ביטול תוקף אחת.
- אפשר לשלב בין
host,pathו-tagsבבקשת פסילה אחת. הן נחשבות כערך בוליאניAND. - אם מציינים כמה תגי מטמון, המערכת מתייחסת אליהם כאל ערך בוליאני
OR. לדוגמה, אם מציינים--tags="status=404,origin=staging-origin", כל התגובות עם תג מטמון שלstatus=404יבוטלו, וגם כל התגובות עם תג מטמון שלorigin=staging-origin.
תגי מטמון
תגי מטמון (או מפתחות חלופיים) מאפשרים לכם לבטל תוכן על סמך מטא-נתונים שרירותיים.
התגים האלה מוגדרים על ידי:
- הגדרת כותרת HTTP
Cache-Tagבתגובה של מקור, עם תגים שמוגדרים כרשימת ערכים מופרדת בפסיקים. - תגים מובנים שמבוססים על קוד הסטטוס של ה-HTTP בתגובת HTTP, על סוג ה-MIME מכותרת תגובה של ה-HTTP
Content-Typeאו על שם המקור שממנו נשלפה התגובה.
אם מציינים כמה תגים בבקשת ביטול תוקף אחת, המערכת מתייחסת אליהם כאל ערך בוליאני OR.
דוגמה:
יש לך את האובייקטים הבאים במטמון:
- אובייקט מספר 1 שנשמר במטמון עם התגים
status=200,content-type=video/mp4 - אובייקט מספר 2 שנשמר במטמון עם התגים
status=404,content-type=text/plain - אובייקט מספר 3 שנשמר במטמון עם התגים
status=200,content-type=application/x-mpegurl
- אובייקט מספר 1 שנשמר במטמון עם התגים
אתם שולחים בקשה לביטול תוקף של אובייקטים עם
tags="status=200,content-type=text/plain"תוצאה: כל שלושת האובייקטים שנשמרו במטמון יבוטלו בו-זמנית. הסיבה לכך היא כדי למנוע מצב שבו צריך לציין את כל השילובים האפשריים של תגים, שחלקם אולי לא ידועים.
הערות:
- תגי ברירת המחדל של מטמון לא נכללים בתגובה שמוצגת ללקוח כי הם משקפים כותרות קיימות (כמו שורת הסטטוס או Content-Type) או פרטי הגדרה פנימיים.
- תגי מטמון שנשלחים מהמקור בכותרת תגובת HTTP
Cache-Tagנשלחים ללקוח. כדי למנוע את השליחה שלהם ללקוח, אפשר להשתמש בתכונהresponseHeadersToRemoveב-routeRuleכדי להסיר את הכותרתCache-Tag. דוגמאות אפשר למצוא במאמר בנושא כותרות בהתאמה אישית.
תגים מובנים
התגובות מקבלות באופן אוטומטי את תגי ה-cache הבאים כדי לתמוך בביטול תוקף של תוכן על סמך קוד סטטוס, סוג MIME או המקור שממנו נמשך התוכן. אין צורך לציין את התגים האלה בתגובות של השרת המקורי.
| תג | פרטים |
|---|---|
status=HTTP_STATUS_CODE
|
תג המטמון לדוגמה, אפשר לבטל את התוקף של כל תגובות HTTP 404 שנשמרו במטמון על ידי ציון |
content-type=MIME_TYPE
|
תג המטמון לדוגמה, סוג ה-MIME של פלייליסט HLS הוא כך תוכלו לבטל תוקף של סוגים ספציפיים של תוכן. |
origin=ORIGIN_NAME
|
תג ה-cache הערך |
מגבלות על תגי מטמון
ההגבלות הבאות חלות על תגי מטמון:
- הגודל המקסימלי הוא 120 בייט לכל תג
- הגודל הכולל של שמות התגים לא יכול לחרוג מ-4 KiB (4,096 בייט) לכל אובייקט שנשמר במטמון
- אסור להוסיף יותר מ-50 תגים לכל אובייקט, לא כולל תגי ברירת מחדל שנוספים על ידי Media CDN
- חייב להיות שם אסימון HTTP תקין, כפי שמוגדר בסעיף 3.2.6 של HTTP RFC 7230
- המאפיין לא יכול לכלול את הקידומות המובנות
status=, origin=אוcontent-type=(המערכת מתעלמת מהן).
המערכת מתעלמת מתגים שלא עומדים במגבלות האלה או בדרישות האלה. במקרים מסוימים (למשל, כשהכותרות של התגובה גדולות מדי), התגובה נכשלת ולא נשמרת במטמון.
הרשאות
ההרשאה networkservices.EdgeCacheServices.invalidateCache
שולטת בגישה ל-invalidateCache API.
ההרשאה הזו כלולה בתפקידים networkservices.edgeCacheAdmin ו-networkservices.edgeCacheUser בניהול זהויות והרשאות גישה (IAM).
דוגמאות
בדוגמאות הבאות אפשר לראות איך לבטל תוקף של תגובות ששמורות במטמון בשירות Media CDN.
אפשר לשלב את השדות host, path ו-tags
בבקשת פסילה אחת כדי לפסול קבוצה מסוימת של תוכן.
ניקוי המטמון לפי מארח
המסוף
- נכנסים לדף Media CDN במסוף Google Cloud .
- לוחצים על הכרטיסייה Services (שירותים).
- לוחצים על שירות.
- לוחצים על הכרטיסייה ביטול תוקף של מטמון.
- כדי לבטל את התוקף של המטמון לפי מארח, בשדה Host מציינים שם מארח, אלא אם רוצים לבטל את התוקף של הנתיב לכל שמות המארחים.
שם המארח לא יכול לכלול את התו
*. - לוחצים על Invalidate (ביטול תוקף) ואז על Confirm (אישור) כדי לציין שרוצים ש-Media CDN יבטל את התוקף של התוכן שתואם למארח.
gcloud
gcloud edge-cache services invalidate-cache SERVICE_NAME \
--host=HOST
מחליפים את מה שכתוב בשדות הבאים:
-
SERVICE_NAMEבשם של שירות Edge Cache. -
HOSTעם שם המארח המלא של רשומת המטמון שרוצים לבטל את התוקף שלה.
לדוגמה:
gcloud edge-cache services invalidate-cache SERVICE_NAME \
--host="media.example.com"
ביטול התוקף של כל התוכן שמשויך למארח עלול להיות מסוכן ולהשפיע על הביצועים. כדאי לצמצם את היקף הביטול על ידי ציון נתיב ספציפי או תגי מטמון רלוונטיים.
פסילה לפי נתיב
המסוף
- נכנסים לדף Media CDN במסוף Google Cloud .
- לוחצים על הכרטיסייה Services (שירותים).
- לוחצים על שירות.
- לוחצים על הכרטיסייה ביטול תוקף של מטמון.
- כדי לבטל את התוקף של המטמון לפי נתיב, בשדה נתיב מציינים את הנתיב ואת שם הקובץ – לדוגמה,
/videos/funny.mp4או/segments/e94a6b1f731/*. - לוחצים על ביטול.
gcloud
gcloud edge-cache services invalidate-cache SERVICE_NAME \
--path=PREFIX
מחליפים את מה שכתוב בשדות הבאים:
-
SERVICE_NAMEבשם של שירות Edge Cache. -
PREFIXעם קידומת נתיב שמסתיימת ב-'*' שתואמת לרשומות במטמון שצריך לבטל את התוקף שלהן.
לדוגמה:
gcloud edge-cache services invalidate-cache SERVICE_NAME \
--path="/segments/e94a6b1f731/*"
אפשר גם לבטל נתיב מדויק על ידי השמטת התו *
בסוף. העברת הערך --path="/videos/funny.mp4" מבטלת את התוקף של התגובה ששמורה במטמון (אם יש כזו) שתואמת לנתיב הזה.
ביטול תוקף לפי תג מטמון
המסוף
- נכנסים לדף Media CDN במסוף Google Cloud .
- לוחצים על הכרטיסייה Services (שירותים).
- לוחצים על שירות.
- לוחצים על הכרטיסייה ביטול תוקף של מטמון.
- כדי לבטל את התוקף של מטמון לפי תגים, מציינים תג אחד או יותר בתגי מטמון. כדי להפריד בין התגים, משתמשים ברווחים או בפסיקים. אפשר להוסיף עד 10 תגי מטמון לביטול תוקף.
- לוחצים על ביטול.
gcloud
gcloud edge-cache services invalidate-cache SERVICE_NAME \
--tags=TAGS
מחליפים את מה שכתוב בשדות הבאים:
-
SERVICE_NAMEבשם של שירות Edge Cache. -
TAGSעם רשימה מופרדת בפסיקים של תגים.
לדוגמה:
gcloud edge-cache services invalidate-cache SERVICE_NAME \
--tags="status=404,content-type=text/plain"
זמן האחזור של ביטול התוקף
ביטול תוקף של מטמון באלפי המיקומים של Media CDN בדרך כלל מסתיים תוך דקה אחת ברחבי העולם.
במקרים מסוימים, תהליך הביטול עשוי להימשך זמן רב יותר, בהתאם לעומס המערכת, לקישוריות ולנפח התוכן שמבוטל.
רישום ביומן
אם יומני הביקורת מופעלים, קריאות לביטול תוקף נרשמות ב-Cloud Logging.
מגבלות
יש הגבלת קצב על ביטולים. אם תחרגו ממגבלת שיעור הביטולים, תקבלו הודעת שגיאה של HTTP 429 עם הסטטוס RESOURCE_EXHAUSTED.
כל בקשת ביטול תוקף נחשבת לפעולה אחת מתוך מגבלת הקצב, בלי קשר לגודל או להיקף של הנתיב. לדוגמה, ביטול תוקף של קובץ יחיד (/images/my-image.png) או של נתיב עם תו כללי לחיפוש (/images/*) נחשב כבקשת ביטול תוקף אחת.