Auf dieser Seite wird beschrieben, wie Sie Media CDN-Edge-Erweiterungen (CdnEdgeExtension) konfigurieren, um WebAssembly-Plug-ins (Wasm) an Media CDN-Edge-Cache-Dienste (EdgeCacheService) anzuhängen.
Eine CdnEdgeExtension-Ressource wird direkt an ein EdgeCacheService-Deployment angehängt und führt eine oder mehrere geordnete Erweiterungsketten (extensionChains) aus. Jede Erweiterungskette wird mithilfe von CEL-Ausdrücken (Common Expression Language) abgeglichen und kann maximal zwei verkettete WasmPlugin-Ressourcen enthalten.
Weitere Informationen finden Sie unter Media CDN-Erweiterungen – Übersicht.
Hinweis
- Media CDN-Ursprung erstellen
- Media CDN-Dienst erstellen
Beachten Sie beim Konfigurieren einer
CdnEdgeExtension-Ressource, dass Media CDN-Edge-Erweiterungen vor den meisten Media CDN-Features ausgeführt werden, einschließlich Routenabgleich und Cache-Lookup. So kann ein Plug-in Header oder URLs umschreiben, um das HTTP-Routing zu beeinflussen. Der Plug-in-Code kann jedoch keine benutzerdefinierten Header prüfen, die von Media CDN-Routenregeln oder integrierten Funktionen hinzugefügt werden. Wenn Sie auf Client- und Verbindungseigenschaften wie Clientregion, IP-Adresse oder TLS-Parameter zugreifen möchten, konfigurieren Sie Weiterleitungsattribute.
Media CDN-Edge-Erweiterung einrichten
So konfigurieren Sie eine CdnEdgeExtension-Ressource und hängen Plug-ins an ein EdgeCacheService-Deployment an:
Definieren Sie die
CdnEdgeExtension-Ressource in einer YAML-Datei.Im folgenden Beispiel wird
WASM_PLUGINaufgerufen, um sowohl Anfrage- als auch Antwortheader zu verarbeiten, wenn Sie eine Anfrage anmedia.example.comsenden.Hinweis: Die Einstellung
failOpen: falsegibt den HTTP-Fehlercode500zurück, wenn das Plug-in fehlschlägt oder eine Zeitüberschreitung auftritt.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 EOFErsetzen Sie Folgendes:
PROJECT_ID: ID Ihres Google Cloud -ProjektsSERVICE_NAME: Name desMedia CDN-Zieldienstes (EdgeCacheService)WASM_PLUGIN: Name Ihres Plug-ins, z. B.my-wasm-plugin-resource
Weitere Informationen zu den Feldern in der YAML-Datei finden Sie in der API-Dokumentation unter ExtensionChain.
Verwenden Sie den Befehl
gcloud beta service-extensions cdn-edge-extensions import, um die RessourceCdnEdgeExtensionzu importieren:gcloud beta service-extensions cdn-edge-extensions import cdn-edge-ext \ --source=cdn-edge-extension.yaml \ --location=global
Hinweis: Es kann einige Zeit dauern, bis die neue Plug-in-Konfiguration an allen Standorten verteilt ist.
Beschränkungen
- Sie können nur eine Edge-Erweiterung an ein
EdgeCacheService-Deployment anhängen. - Eine Edge-Erweiterungskette kann maximal zwei Plug-ins enthalten.
- Media CDN-Edge-Erweiterungen unterstützen
REQUEST_HEADERS- undRESPONSE_HEADERS-Ereignisse. Diese Erweiterungen unterstützen keine HTTP-Text- oder Trailer-Verarbeitung. - Bei Media CDN-Edge-Erweiterungen können Sie nur einen regulären Ausdruck pro CEL-Ausdruck verwenden.
- Die Namen von Erweiterungsketten und Erweiterungen müssen RFC-1034 entsprechen. Gemäß dieser Spezifikation können Namen bis zu 63 alphanumerische Kleinbuchstaben oder Bindestriche enthalten, müssen mit einem Buchstaben beginnen und mit einem Buchstaben oder einer Ziffer enden.
Weitere Informationen zu Ressourcenlimits finden Sie unter Kontingente und Limits.