

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Perbedaan antara CloudFront Fungsi dan Lambda @Edge
<a name="edge-functions-choosing"></a>

CloudFront Fungsi dan Lambda @Edge keduanya menyediakan cara untuk menjalankan kode sebagai respons terhadap CloudFront peristiwa. 

CloudFront Fungsi sangat ideal untuk fungsi ringan dan berjalan pendek untuk kasus penggunaan berikut:
+ **Normalisasi kunci cache** - Ubah atribut permintaan HTTP (header, string kueri, cookie, dan bahkan jalur URL) untuk membuat [kunci cache](understanding-the-cache-key.md) yang optimal, yang dapat meningkatkan rasio hit cache Anda.
+ **Manipulasi header** - Menyisipkan, memodifikasi, atau menghapus header HTTP dalam permintaan atau tanggapan. Misalnya, Anda dapat menambah header `True-Client-IP` untuk setiap permintaan.
+ **Pengalihan atau penulisan ulang URL** — Mengarahkan pemirsa ke halaman lain berdasarkan informasi dalam permintaan, atau menulis ulang semua permintaan dari satu jalur ke jalur lainnya.
+ **Meminta otorisasi** — Validasi token otorisasi hash, seperti token web JSON (JWT), dengan memeriksa header otorisasi atau metadata permintaan lainnya.

Untuk memulai dengan CloudFront Functions, lihat[Sesuaikan di tepi dengan CloudFront Fungsi](cloudfront-functions.md).

Lambda @Edge sangat ideal untuk kasus penggunaan berikut:
+ Fungsi yang membutuhkan beberapa milidetik atau lebih untuk diselesaikan
+ Fungsi yang membutuhkan CPU atau memori yang dapat disesuaikan
+ Fungsi yang bergantung pada pustaka pihak ketiga (termasuk AWS SDK, untuk integrasi dengan yang lain) Layanan AWS
+ Fungsi yang memerlukan akses jaringan untuk menggunakan layanan eksternal untuk diproses
+ Fungsi yang memerlukan akses sistem file atau akses ke badan permintaan HTTP

Untuk memulai dengan Lambda@Edge, lihat [Sesuaikan di tepi dengan Lambda @Edge](lambda-at-the-edge.md).

Untuk membantu Anda memilih opsi untuk kasus penggunaan Anda, gunakan tabel berikut untuk memahami perbedaan antara CloudFront Fungsi dan Lambda @Edge. Untuk informasi tentang perbedaan yang berlaku untuk metode pembantu modifikasi asal, lihat[Pilih antara CloudFront Fungsi dan Lambda @Edge](helper-functions-origin-modification.md#origin-modification-considerations).


|  | CloudFront Fungsi | Lambda@Edge | 
| --- | --- | --- | 
| Bahasa pemrograman | JavaScript (ECMAScript 5.1 sesuai) | Node.js dan Python | 
| Sumber peristiwa |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AmazonCloudFront/latest/DeveloperGuide/edge-functions-choosing.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AmazonCloudFront/latest/DeveloperGuide/edge-functions-choosing.html)  | 
|  Mendukung [Amazon CloudFront KeyValueStore](kvs-with-functions.md)  |  Ya CloudFront KeyValueStore hanya mendukung [JavaScript runtime 2.0](functions-javascript-runtime-20.md)  |  Tidak  | 
| Penskalaan | Hingga jutaan permintaan per detik | Hingga 10.000 permintaan per detik per Wilayah | 
| Durasi fungsi | Submilidetik |  Hingga 30 detik (permintaan penampil dan respons penampil) Hingga 30 detik (permintaan asal dan respons asal)  | 
|  Ukuran memori fungsi maksimum  | 2 MB |  128 MB (permintaan penampil dan respons penampil) 10.240 MB (10 GB) (permintaan asal dan respons asal) Untuk informasi selengkapnya, lihat [Kuotas di Lambda@Edge](cloudfront-limits.md#limits-lambda-at-edge).  | 
| Ukuran maksimum dari kode fungsi dan termasuk pustaka | 10 KB |  50 MB (permintaan penampil dan respons penampil) 50 MB (permintaan asal dan respons asal)  | 
| Akses jaringan | Tidak | Ya | 
| Akses sistem file | Tidak | Ya | 
| Akses ke isi permintaan | Tidak | Ya | 
| Akses ke data geolokasi dan perangkat | Ya |  Tidak (permintaan penampil dan respons penampil) Ya (permintaan asal dan respons asal)  | 
| Dapat membangun dan menguji sepenuhnya di dalam CloudFront | Ya | Tidak | 
| Pencatatan dan metrik fungsi | Ya | Ya | 