View a markdown version of this page

Streaming respons untuk Fungsi Acara Lambda - AWS Lambda

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

Streaming respons untuk Fungsi Acara Lambda

Fungsi Lambda secara native dapat mengalirkan muatan respons kembali ke klien melalui URL fungsi Lambda atau dengan menggunakan InvokeWithResponseStreamAPI (melalui SDK atau panggilan API langsung). AWS Fungsi Lambda Anda juga dapat mengalirkan muatan respons melalui integrasi proxy Amazon API Gateway, yang menggunakan InvokeWithResponseStreamAPI untuk menjalankan fungsi Anda. Streaming respons dapat menguntungkan aplikasi sensitif latensi dengan meningkatkan kinerja time to first byte (TTFB). Ini karena Anda dapat mengirim sebagian tanggapan kembali ke klien saat tersedia. Selain itu, fungsi streaming respons dapat mengembalikan muatan hingga 200 MB, dibandingkan dengan maksimum 6 MB untuk respons buffer.

Streaming respons juga berarti bahwa fungsi Anda tidak perlu sesuai dengan seluruh respons dalam memori. Untuk respons yang sangat besar, ini dapat mengurangi jumlah memori yang perlu Anda konfigurasikan untuk fungsi Anda. Untuk membantu memilih antara URL fungsi dan API Gateway untuk kasus penggunaan Anda, lihatPilih metode untuk memanggil Fungsi Peristiwa Lambda Anda menggunakan permintaan HTTP.

catatan

Streaming respons Lambda belum tersedia di semua. Wilayah AWS Untuk ketersediaan fitur menurut Wilayah, lihat AWS Kemampuan Builder Center menurut Wilayah.

Kecepatan Lambda mengalirkan respons Anda tergantung pada ukuran respons. Rasio streaming untuk 6 MB pertama dari respons fungsi Anda tidak dibatasi. Untuk respons yang lebih besar dari 6 MB, sisa respons tunduk pada batas bandwidth. Untuk informasi lebih lanjut tentang bandwidth streaming, lihatBatas bandwidth untuk streaming respons.

Respons streaming menimbulkan biaya dan tanggapan yang dialirkan tidak terganggu atau dihentikan ketika koneksi klien yang memanggil terputus. Pelanggan ditagih untuk durasi fungsi penuh, jadi pelanggan harus berhati-hati saat mengonfigurasi batas waktu fungsi yang lama.

Lambda mendukung streaming respons pada runtime Node.js terkelola. Untuk bahasa lain, termasuk Python, Anda dapat menggunakan runtime kustom dengan integrasi API Runtime kustom untuk melakukan streaming respons atau menggunakan Adaptor Web Lambda.

catatan

Saat menguji fungsi Anda melalui konsol Lambda, Anda akan selalu melihat respons sebagai buffer.

Untuk mempelajari cara menulis fungsi streaming, lihatMenulis fungsi Lambda yang mendukung streaming respons. Untuk menjalankan fungsi streaming melalui URL fungsi, lihat. Menginvokasi Fungsi yang Diaktifkan Streaming Respons Menggunakan URL Fungsi Lambda Untuk panduan langkah demi langkah, lihat. Tutorial: Membuat Fungsi Lambda Streaming Respons dengan URL Fungsi

Batas bandwidth untuk streaming respons

6 MB pertama dari payload respons fungsi Anda memiliki bandwidth yang tidak dibatasi. Setelah ledakan awal ini, Lambda mengalirkan respons Anda dengan kecepatan maksimum 2 MBps. Jika respons fungsi Anda tidak pernah melebihi 6 MB, maka batas bandwidth ini tidak pernah berlaku.

catatan

Batas bandwidth hanya berlaku untuk payload respons fungsi Anda, dan bukan untuk akses jaringan oleh fungsi Anda.

Tingkat bandwidth yang tidak dibatasi bervariasi tergantung pada sejumlah faktor, termasuk kecepatan pemrosesan fungsi Anda. Anda biasanya dapat mengharapkan tingkat yang lebih tinggi dari 2 MBps untuk 6 MB pertama dari respons fungsi Anda. Jika fungsi Anda mengalirkan respons ke tujuan di luar AWS, kecepatan streaming juga tergantung pada kecepatan koneksi internet eksternal.

Kompatibilitas VPC dengan streaming respons

Saat menggunakan fungsi Lambda di lingkungan VPC, ada pertimbangan penting untuk streaming respons:

  • URL fungsi Lambda tidak mendukung streaming respons dalam lingkungan VPC.

  • Anda dapat menggunakan streaming respons dalam VPC dengan menjalankan fungsi Lambda Anda melalui SDK menggunakan API. AWS InvokeWithResponseStream Ini memerlukan pengaturan titik akhir VPC yang sesuai untuk Lambda.

  • Untuk lingkungan VPC, Anda harus membuat titik akhir VPC antarmuka untuk Lambda untuk memungkinkan komunikasi antara sumber daya Anda di VPC dan layanan Lambda.

Arsitektur khas untuk streaming respons dalam VPC mungkin termasuk:

Client in VPC -> Interface VPC endpoint for Lambda -> Lambda function -> Response streaming back through the same path