בדף הזה מוסבר איך להגדיר תוספי קצה של Media CDN (CdnEdgeExtension) כדי לצרף פלאגינים של WebAssembly (Wasm) לשירותי שמירה במטמון קצה של Media CDN (EdgeCacheService).
משאב CdnEdgeExtension מתחבר ישירות לפריסה של EdgeCacheService ומריץ שרשרת אחת או יותר של תוספים מסודרים (extensionChains). כל שרשרת תוספים מותאמת באמצעות ביטויי Common Expression Language (CEL) ויכולה להכיל עד שני משאבי WasmPlugin משורשרים.
מידע נוסף זמין במאמר סקירה כללית על תוספים של Media CDN.
לפני שמתחילים
- יצירת מקור ב-Media CDN
- יצירת שירות Media CDN
כשמגדירים משאב
CdnEdgeExtension, חשוב לזכור שהתוספים של Media CDN Edge פועלים לפני רוב התכונות של Media CDN, כולל התאמת מסלולים וחיפוש במטמון. כך הפלאגין יכול לשכתב כותרות או כתובות URL כדי להשפיע על ניתוב ה-HTTP. עם זאת, קוד הפלאגין לא יכול לבדוק כותרות בהתאמה אישית שנוספו על ידי כללי המסלול של Media CDN או תכונות מובנות. כדי לגשת למאפייני לקוח וחיבור, כמו אזור הלקוח, כתובת ה-IP או פרמטרים של TLS, צריך להגדיר מאפייני העברה.
הגדרת התוסף של Media CDN בקצה הרשת
כדי להגדיר משאב CdnEdgeExtension ולצרף פלאגינים לפריסה של EdgeCacheService:
מגדירים את המשאב
CdnEdgeExtensionבקובץ YAML.בדוגמה הבאה, הפונקציה
WASM_PLUGINמופעלת כדי לעבד את הכותרות של הבקשות והתגובות כששולחים בקשה אלmedia.example.com.הערה: ההגדרה
failOpen: falseמחזירה קוד שגיאת HTTP500אם הפלאגין נכשל או אם הזמן הקצוב לתפוגה חלף.cat >cdn-edge-extension.yaml <<EOF edgeCacheServices: - projects/PROJECT_ID/locations/global/edgeCacheServices/SERVICE_NAME extensionChains: - name: "edge-plugin-chain" matchCondition: celExpression: 'request.host == "media.example.com"' extensions: - name: "auth-and-header-plugin" service: projects/PROJECT_ID/locations/global/wasmPlugins/WASM_PLUGIN failOpen: false supportedEvents: - REQUEST_HEADERS - RESPONSE_HEADERS forwardAttributes: - request.method - request.host - request.path - source.client_region EOFמחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט ב- Google Cloud -
SERVICE_NAME: השם של שירות היעד שלMedia CDN(EdgeCacheService) -
WASM_PLUGIN: שם הפלאגין, למשלmy-wasm-plugin-resource
מידע נוסף על השדות בקובץ ה-YAML מופיע בקטע ExtensionChain במאמרי העזרה של ה-API.
-
משתמשים בפקודה
gcloud beta service-extensions cdn-edge-extensions importכדי לייבא את המשאבCdnEdgeExtension:gcloud beta service-extensions cdn-edge-extensions import cdn-edge-ext \ --source=cdn-edge-extension.yaml \ --location=global
הערה: יכול להיות שיעבור זמן מה עד שההגדרות החדשות של הפלאגין יופצו לכל המיקומים.
מגבלות
- אפשר לצרף רק תוסף קצה אחד לפריסה של
EdgeCacheService. - שרשרת של תוספי Edge יכולה להכיל עד שני פלאגינים.
- תוספי הקצה של Media CDN תומכים באירועים מסוג
REQUEST_HEADERSו-RESPONSE_HEADERS. התוספים האלה לא תומכים בעיבוד של גוף או טריילר של HTTP. - בתוספי קצה של Media CDN אפשר להשתמש רק בביטוי רגולרי אחד לכל ביטוי CEL.
- השמות של שרשראות התוספים והתוספים צריכים להיות תואמים ל-RFC-1034. לפי המפרט הזה, השמות יכולים להכיל עד 63 תווים אלפאנומריים קטנים או מקפים, והם חייבים להתחיל באות ולהסתיים באות או במספר.
מידע נוסף על מגבלות של משאבים זמין במאמר מכסות ומגבלות.