View a markdown version of this page

Streaming Respons untuk Fungsi 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 Lambda

Fungsi lambda dapat secara native streaming payload respons kembali ke klien melalui URL fungsi Lambda atau dengan menggunakan InvokeWithResponseStream API (melalui AWS SDK atau panggilan API langsung). Fungsi Lambda Anda juga dapat melakukan streaming muatan respons melalui integrasi proxy Amazon API Gateway, yang menggunakan InvokeWithResponseStream API untuk memanggil 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 menyesuaikan 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 Lambda Anda menggunakan permintaan HTTP.

catatan

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

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

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

Lambda mendukung streaming respons pada runtime ter Node.js kelola. Untuk bahasa lain, termasuk Python, Anda dapat menggunakan runtime khusus dengan integrasi API Runtime khusus untuk mengalirkan respons atau menggunakan Lambda Web Adapter.

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 memanggil fungsi streaming melalui URL fungsi, lihatMemanggil fungsi yang diaktifkan streaming respons menggunakan fungsi Lambda URLs. Untuk panduan langkah demi langkah, lihatTutorial: 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 terbatas. Setelah ledakan awal ini, Lambda mengalirkan respons Anda pada 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 tidak untuk akses jaringan oleh fungsi Anda.

Tingkat bandwidth tidak terbatas 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 respons fungsi Anda. Jika fungsi Anda streaming 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 memanggil fungsi Lambda Anda melalui AWS SDK menggunakan API. InvokeWithResponseStream Ini memerlukan pengaturan titik akhir VPC yang sesuai untuk Lambda.

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

Arsitektur khas untuk streaming respons di VPC mungkin termasuk:

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