Tentukan tujuan fungsi - Amazon CloudFront

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.

Terlepas dari tujuan fungsi Anda, handler adalah titik masuk untuk fungsi apa pun. Dibutuhkan argumen tunggal yang disebutevent, yang diteruskan ke fungsi oleh CloudFront. eventIni adalah JSON objek yang berisi representasi HTTP permintaan (dan respons, jika fungsi Anda memodifikasi HTTP respons).

Ubah HTTP permintaan dalam jenis acara permintaan penampil

Fungsi Anda dapat mengubah HTTP permintaan yang CloudFront diterima dari penampil (klien), dan mengembalikan permintaan yang dimodifikasi ke CloudFront pemrosesan lanjutan. Misalnya, kode fungsi Anda mungkin menormalkan kunci cache atau mengubah header permintaan.

Saat Anda membuat fungsi yang mengubah HTTP permintaan, pastikan untuk memilih jenis acara permintaan penampil. Ini berarti bahwa 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 memodifikasi 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 HTTP respons dalam jenis acara permintaan penampil

Fungsi Anda dapat menghasilkan HTTP respons 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 yang baruURL, atau memeriksa otorisasi dan mengembalikan 401 atau 403 respons terhadap permintaan yang tidak sah.

Saat Anda membuat fungsi yang menghasilkan HTTP respons, pastikan untuk memilih jenis acara 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 responsHTTP.

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 HTTP respons dalam jenis peristiwa respons penampil

Fungsi Anda dapat memodifikasi HTTP respons 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 HTTP respons, 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 memodifikasi 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.

Untuk informasi selengkapnya tentang bekerja dengan CloudFront Fungsi, lihat topik berikut: