Service Extensions 可讓您使用擴充功能,在 Media CDN 處理路徑中插入自訂程式碼。本頁面提供 Media CDN 擴充功能的總覽。
Media CDN 提供多項內建核心功能,可滿足內容傳遞網路 (CDN) 最常見的用途。您的需求可能超出這些功能。舉例來說,您可能需要正規化標頭來改善快取、使用自訂網址簽署演算法,或將舊版行為從現有 CDN 移植到 Media CDN。
您可以使用邊緣擴充功能 (CdnEdgeExtension),在 Media CDN 處理路徑中,直接在快取前的 Google 邊緣網路執行 WebAssembly (Wasm) 外掛程式。
CdnEdgeExtension 資源會直接附加至 EdgeCacheService 部署作業,並執行一或多個已排序的擴充功能鏈結 (extensionChains)。每個擴充功能鏈結都會定義一般運算語言 (CEL) 比對條件 (matchCondition.celExpression),根據主機名稱、網址路徑、查詢參數或 HTTP 要求標頭,選擇性評估要求。
外掛程式可以存取及操控 HTTP 要求標頭和回應標頭、影響快取鍵產生、驗證自訂授權權杖或網址簽章,以及提供合成回應。詳情請參閱圖 1。
Media CDN 邊緣擴充功能的運作方式
當用戶端要求到達由邊緣擴充功能擴充的 EdgeCacheService 時,擴充功能會依下列順序執行:
比對條件評估:Media CDN 會擷取要求屬性,並評估
CdnEdgeExtension中定義的排序extensionChains。系統會執行 CEL 運算式評估為true的第一個鏈結,並略過後續所有鏈結。外掛程式要求標頭處理 (
REQUEST_HEADERS):設定的外掛程式會依序執行。在單一擴充功能鏈中,最多可以鏈結兩個外掛程式。外掛程式可以檢查轉送的 HTTP 標頭和 Envoy 屬性、新增或重寫要求標頭,或直接向用戶端傳回合成回應。路徑比對和來源選擇:Media CDN 會評估路由規則,然後根據要求 (包括外掛程式修改的要求標頭或網址路徑) 選取目標來源。
快取查詢和來源擷取:Media CDN 會評估快取鍵 (可納入外掛程式修改的要求標頭或網址路徑)、檢查邊緣快取儲存空間,並在快取命中時提供內容,或在快取失敗時從所選來源擷取內容。
外掛程式回應標頭處理 (
RESPONSE_HEADERS):從快取或來源擷取內容後,您設定的外掛程式會依序執行。接著,修改後的回應標頭會傳送至下游用戶端。傳送至用戶端:最終回應標頭和內文會傳送至用戶端。