將外掛程式附加至 Media CDN 路由

本頁說明如何在 Media CDN 路徑中設定 Service Extensions 外掛程式。

您可以搭配使用 Media CDN 和 Service Extensions,在要求/回應處理路徑中新增自訂程式碼。這類自訂功能可解鎖各種輕量型用途。

詳情請參閱「Media CDN 擴充功能總覽」。

事前準備

  1. 建立 Media CDN 來源
  2. 建立 Media CDN 服務
  3. 使用 Service Extensions 建立外掛程式

為外掛程式建立 Wasm 動作

建立 Wasm 動作時,您無法使用 Cloud Load Balancing 擴充功能中已在使用的外掛程式。

執行 gcloud alpha service-extensions wasm-actions create 指令,為 Service Extensions 外掛程式建立 Wasm 動作:

gcloud alpha service-extensions wasm-actions create WASM_ACTION \
    --wasm-plugin=WASM_PLUGIN \
    --supported-events=[EVENT,...]

更改下列內容:

  • WASM_ACTION:Wasm 動作的 ID 或完整名稱
  • WASM_PLUGIN:要附加動作的外掛程式名稱
  • EVENT:外掛程式要處理的酬載部分,由下列一或兩個值指出:request-headersresponse-headers。如未指定,系統會處理這兩個標頭。

建立 Wasm 動作可能需要一段時間。

將外掛程式附加至路徑

如要在 Media CDN 路徑中附加外掛程式,請按照下列步驟操作:

  1. 如要將服務的目前設定匯出至 YAML 檔案,請執行 gcloud edge-cache services export 指令

      gcloud edge-cache services export SERVICE_NAME \
          --destination=FILENAME.yaml
    

    更改下列內容:

    • SERVICE_NAME:Media CDN 服務的名稱
    • FILENAME:YAML 檔案的名稱
  2. 使用文字編輯器編輯 YAML 檔案。

  3. 更新檔案中的路徑,新增 wasmAction 標頭,如以下範例所示:

      name: SERVICE_NAME
      routing:
        hostRules:
        - hosts:
          - DOMAIN_NAME 
          pathMatcher: routes
        pathMatchers:
        - name: routes
          routeRules:
          - priority: '1'
            description: Route 1
            matchRules:
            - prefixMatch: /plugins
            origin: projects/PROJECT_NUMBER/locations/global/edgeCacheOrigins/ORIGIN_NAME
            routeAction:
              wasmAction: projects/PROJECT_NUMBER/locations/global/wasmActions/WASM_ACTION
    

    更改下列內容:

    • SERVICE_NAME:Media CDN 服務的名稱
    • DOMAIN_NAME:Media CDN 服務的網域
    • PROJECT_NUMBER專案編號
    • ORIGIN_NAME:內容的來源
    • WASM_ACTION:Service Extensions Wasm 動作
  4. 儲存 YAML 檔案。

  5. 執行 gcloud edge-cache services import 指令

      gcloud edge-cache services import SERVICE_NAME \
          --source=FILENAME.yaml
    

新外掛程式可能需要一段時間,才會在所有地點發布。外掛程式不會同時傳送到所有地點,因此時間可能因地點而異。

後續步驟