Topik ini menjelaskan fitur struktural, deskripsi pemanggilan, dan batasan penangan HTTP dalam runtime kustom. Topik ini juga memberikan contoh penggunaan penangan HTTP serta tautan ke beberapa pertanyaan yang sering diajukan.
Informasi latar belakang
Function Compute meneruskan permintaan Anda secara transparan, termasuk metode, jalur, kueri, header permintaan, badan permintaan, dan header umum yang dihasilkan oleh Function Compute, ke server HTTP. Anda dapat memigrasikan aplikasi web HTTP yang ada dengan lancar.
Pemanggilan fungsi
Metode untuk memanggil penangan HTTP mirip dengan operasi API web. Anda dapat mengirim permintaan menggunakan cURL, Postman, atau browser. Saat menggunakan browser untuk mengakses pemicu HTTP, fungsi mungkin diunduh secara paksa. Untuk informasi lebih lanjut tentang cara menyelesaikan masalah ini, lihat Mengapa saya perlu mengunduh respons saat menggunakan browser web untuk mengakses fungsi dengan pemicu HTTP?
Header | Deskripsi |
(Opsional) x-fc-base-path | Jika Anda tidak menentukan nama domain kustom, |
(Opsional) x-fc-status | Header ini berperilaku mirip dengan header dalam fungsi acara. Ini berlaku untuk fungsi HTTP yang tidak dimigrasikan ke Function Compute tetapi dibuat dengan memanggil operasi API web. Anda dapat menyertakan bidang x-fc-status dalam header respons untuk melaporkan ke Function Compute apakah fungsi lokal berhasil dipanggil.
null Kami sarankan Anda menentukan bidang StatusCode dan x-fc-status dalam respons HTTP. |
Catatan penggunaan
Hanya satu pemicu HTTP yang dapat dibuat untuk fungsi HTTP di setiap versi atau alias layanan. Untuk informasi lebih lanjut, lihat Kelola Versi dan Kelola Alias.
Batasan Permintaan HTTP
Header permintaan tidak mendukung bidang kustom yang dimulai dengan x-fc- atau bidang berikut:
connection
keep-alive
Sistem mengembalikan kode status
400dan kode kesalahanInvalidArgumentjika permintaan melebihi salah satu batasan berikut:Ukuran Header: Total ukuran semua kunci dan nilai dalam header tidak boleh melebihi 8 KB.
Ukuran Jalur: Total ukuran jalur, termasuk semua parameter kueri, tidak boleh melebihi 4 KB.
Ukuran Body: Total ukuran body permintaan pemanggilan sinkron tidak boleh melebihi 32 MB. Total ukuran body permintaan pemanggilan asinkron tidak boleh melebihi 128 KB.
Batasan Respons HTTP
Header respons tidak mendukung bidang kustom yang dimulai dengan x-fc- atau bidang berikut:
connection
content-length
date
keep-alive
server
content-disposition:attachment
nullUntuk alasan keamanan, jika Anda menggunakan nama domain default aliyuncs.com dari Function Compute, server secara otomatis menambahkan bidang content-disposition: attachment ke header respons. Bidang ini membuat hasil yang dikembalikan diunduh sebagai lampiran di browser. Untuk menghapus batasan ini, Anda harus menentukan nama domain kustom. Untuk informasi lebih lanjut, lihat Konfigurasi Nama Domain Kustom.
Jika respons melebihi salah satu batasan berikut, sistem mengembalikan kode status
502dan kesalahanBadResponse:Ukuran Header: Total ukuran semua kunci dan nilai dalam header tidak boleh melebihi 8 KB.
Lainnya
Anda dapat mengikat nama domain kustom untuk memetakan jalur HTTP yang berbeda untuk fungsi HTTP. Untuk informasi lebih lanjut, lihat Konfigurasi Nama Domain Kustom. Anda juga dapat menggunakan API Gateway untuk mengimplementasikan fitur serupa dengan menyetel jenis layanan backend ke HTTP dan menentukan jalur fungsi HTTP sebagai alamat layanan backend. Untuk informasi lebih lanjut, lihat Gunakan Function Compute sebagai Layanan Backend Operasi API.
Contoh untuk bahasa pemrograman lainnya
Anda dapat menggunakan Serverless Devs untuk memigrasikan aplikasi Anda ke Function Compute hanya dengan beberapa klik. Contoh berikut menunjukkan cara menggunakan Serverless Devs untuk menerapkan dan memanggil fungsi secara efisien. Anda dapat memodifikasi kode sampel sesuai kebutuhan bisnis Anda.

