Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Tentukan tujuan fungsi
Sebelum Anda menulis kode fungsi Anda, tentukan tujuan fungsi Anda. Sebagian besar CloudFront fungsi dalam Fungsi memiliki salah satu tujuan berikut.
Topik
Terlepas dari tujuan fungsi Anda, handler
adalah titik masuk untuk fungsi apa pun. Dibutuhkan argumen tunggal yang disebutevent
, yang diteruskan ke fungsi oleh CloudFront. event
adalah objek JSON yang berisi representasi dari permintaan HTTP (dan respons, jika fungsi Anda memodifikasi respons HTTP).
Ubah permintaan HTTP dalam jenis acara permintaan penampil
Fungsi Anda dapat memodifikasi permintaan HTTP yang CloudFront menerima dari penampil (klien), dan mengembalikan permintaan yang dimodifikasi ke CloudFront pemrosesan lanjutan. Misalnya, kode fungsi Anda mungkin menormalkan kunci cache atau mengubah header permintaan.
Setelah Anda membuat dan memublikasikan fungsi yang mengubah permintaan HTTP, pastikan untuk menambahkan asosiasi untuk jenis peristiwa permintaan penampil. Untuk informasi selengkapnya, lihat Buat fungsi. Ini membuat fungsi berjalan setiap kali CloudFront menerima permintaan dari penampil, sebelum memeriksa untuk melihat apakah objek yang diminta ada dalam CloudFront cache.
contoh Contoh
Pseudocode berikut menunjukkan struktur fungsi yang mengubah permintaan HTTP.
function handler(event) { var request = event.request; // Modify the request object here. return request; }
Fungsi mengembalikan request
objek yang dimodifikasi ke CloudFront. CloudFrontterus memproses permintaan yang dikembalikan dengan memeriksa CloudFront cache untuk mendapatkan cache, dan mengirim permintaan ke asal jika perlu.
Hasilkan respons HTTP dalam jenis acara permintaan penampil
Fungsi Anda dapat menghasilkan respons HTTP di tepi dan mengembalikannya langsung ke penampil (klien) tanpa memeriksa respons yang di-cache atau pemrosesan lebih lanjut oleh CloudFront. Misalnya, kode fungsi Anda mungkin mengalihkan permintaan ke URL baru, atau memeriksa otorisasi dan mengembalikan respons 401
atau 403
terhadap permintaan yang tidak sah.
Saat Anda membuat fungsi yang menghasilkan respons HTTP, pastikan untuk memilih jenis peridtiwa permintaan penampil. Ini berarti bahwa fungsi berjalan setiap kali CloudFront menerima permintaan dari penampil, sebelum CloudFront melakukan pemrosesan permintaan lebih lanjut.
contoh Contoh
Pseudocode berikut menunjukkan struktur fungsi yang menghasilkan respons HTTP.
function handler(event) { var request = event.request; var response = ...; // Create the response object here, // using the request properties if needed. return response; }
Fungsi mengembalikan response
objek ke CloudFront, yang CloudFront segera kembali ke penampil tanpa memeriksa CloudFront cache atau mengirim permintaan ke asal.
Ubah respons HTTP dalam jenis peristiwa respons penampil
Fungsi Anda dapat memodifikasi respons HTTP sebelum CloudFront mengirimkannya ke penampil (klien), terlepas dari apakah respons berasal dari CloudFront cache atau asal. Misalnya, kode fungsi Anda mungkin menambahkan atau memodifikasi header respons, kode status, dan isi isi.
Saat Anda membuat fungsi yang mengubah respons HTTP, pastikan untuk memilih jenis peristiwa respons penampil. Ini berarti bahwa fungsi berjalan sebelum CloudFront mengembalikan respons ke penampil, terlepas dari apakah respons berasal dari CloudFront cache atau asal.
contoh Contoh
Pseudocode berikut menunjukkan struktur fungsi yang mengubah respons HTTP.
function handler(event) { var request = event.request; var response = event.response; // Modify the response object here, // using the request properties if needed. return response; }
Fungsi mengembalikan response
objek yang dimodifikasi ke CloudFront, yang CloudFront segera kembali ke penampil.
Informasi terkait
Untuk informasi selengkapnya tentang bekerja dengan CloudFront Fungsi, lihat topik berikut: