Halaman ini menjelaskan cara mengonfigurasi ekstensi edge Media CDN
(CdnEdgeExtension) untuk melampirkan plugin WebAssembly (Wasm) ke
Layanan Edge Cache Media CDN
(EdgeCacheService).
Resource CdnEdgeExtension terhubung langsung ke deployment EdgeCacheService
dan menjalankan satu atau beberapa rantai ekstensi yang diurutkan (extensionChains).
Setiap rantai ekstensi dicocokkan menggunakan ekspresi Common Expression Language (CEL)
dan dapat berisi maksimum dua resource WasmPlugin yang dirantai.
Untuk mengetahui informasi selengkapnya, lihat Ringkasan ekstensi Media CDN.
Sebelum memulai
- Membuat origin Media CDN
- Membuat layanan Media CDN
Saat mengonfigurasi resource
CdnEdgeExtension, pertimbangkan bahwa ekstensi edge Media CDN berjalan sebelum sebagian besar fitur Media CDN, termasuk pencocokan rute dan pencarian cache. Hal ini memungkinkan plugin menulis ulang header atau URL untuk memengaruhi pemilihan rute HTTP. Namun, kode plugin tidak dapat memeriksa header kustom yang ditambahkan oleh aturan rute Media CDN atau fitur bawaan. Untuk mengakses properti klien dan koneksi, seperti region klien, alamat IP, atau parameter TLS, konfigurasikan atribut penerusan.
Menyiapkan ekstensi edge Media CDN
Untuk mengonfigurasi resource CdnEdgeExtension dan melampirkan plugin ke deployment EdgeCacheService, lakukan hal berikut:
Tentukan resource
CdnEdgeExtensiondalam file YAML.Contoh berikut memanggil
WASM_PLUGINuntuk memproses header permintaan dan header respons saat Anda mengirim permintaan kemedia.example.com.Catatan: Setelan
failOpen: falsemenampilkan kode error HTTP500jika plugin gagal atau waktu habis.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 EOFGanti kode berikut:
PROJECT_ID: ID project Google Cloud AndaSERVICE_NAME: nama layananMedia CDNtarget (EdgeCacheService)WASM_PLUGIN: nama plugin Anda, sepertimy-wasm-plugin-resource
Untuk mengetahui informasi selengkapnya tentang kolom dalam file YAML, lihat ExtensionChain dalam dokumentasi API.
Gunakan perintah
gcloud beta service-extensions cdn-edge-extensions importuntuk mengimpor resourceCdnEdgeExtension:gcloud beta service-extensions cdn-edge-extensions import cdn-edge-ext \ --source=cdn-edge-extension.yaml \ --location=global
Catatan: Mungkin perlu waktu beberapa saat agar konfigurasi plugin baru didistribusikan di semua lokasi.
Batasan
- Anda hanya dapat melampirkan satu ekstensi edge ke deployment
EdgeCacheService. - Rantai ekstensi edge dapat berisi maksimal dua plugin.
- Ekstensi edge Media CDN mendukung peristiwa
REQUEST_HEADERSdanRESPONSE_HEADERS. Ekstensi ini tidak mendukung pemrosesan isi atau trailer HTTP. - Ekstensi edge Media CDN memungkinkan Anda menggunakan hanya satu ekspresi reguler untuk setiap ekspresi CEL.
- Nama rantai ekstensi dan ekstensi harus sesuai dengan RFC-1034. Berdasarkan spesifikasi ini, nama dapat berisi hingga 63 karakter alfanumerik huruf kecil atau tanda hubung, harus diawali dengan huruf, dan harus diakhiri dengan huruf atau angka.
Untuk mengetahui informasi selengkapnya tentang batas resource, lihat Kuota dan batas.