本页面介绍了如何在 Media CDN 路由中配置 Service Extensions 插件。
您可以将媒体 CDN 与 Service Extensions 搭配使用,以向请求-响应处理路径添加自定义代码。这种自定义功能可实现各种轻量级使用场景。
如需了解详情,请参阅 Media CDN 扩展服务概览。
准备工作
为插件创建 Wasm 操作
创建 Wasm 操作时,您无法使用 Cloud Load Balancing 扩展程序中已在使用的插件。
运行 gcloud alpha service-extensions wasm-actions create 命令,为您的服务扩展插件创建 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-headers或response-headers。如果未指定,则处理这两个标头。
创建 Wasm 操作可能需要一段时间。
将插件附加到路由
如需在 Media CDN 路由中附加插件,请按以下步骤操作:
如需将服务的当前配置导出到 YAML 文件,请运行
gcloud edge-cache services export命令:gcloud edge-cache services export SERVICE_NAME \ --destination=FILENAME.yaml替换以下内容:
SERVICE_NAME:媒体 CDN 服务的名称FILENAME:YAML 文件的名称
使用文本编辑器修改 YAML 文件。
更新文件中的路由,以添加
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:媒体 CDN 服务的名称DOMAIN_NAME:媒体 CDN 服务的网域PROJECT_NUMBER:项目编号ORIGIN_NAME:内容的来源WASM_ACTION:Service Extensions Wasm 操作
保存 YAML 文件。
运行
gcloud edge-cache services import命令:gcloud edge-cache services import SERVICE_NAME \ --source=FILENAME.yaml
新插件可能需要一段时间才能分发到所有地区。由于插件并非同时交付到所有地区,因此时间可能会因地区而异。