全部产品
Search
文档中心

Function Compute:Penangan HTTP

更新时间:Jun 24, 2025

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, /2016-08-15/proxy/${servicename}/${functionname}/ digunakan sebagai nilai dari x-fc-base-path.

(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.
  • Jika Anda tidak menentukan nilai untuk bidang x-fc-status, Function Compute menganggap pemanggilan berhasil. Jika terjadi kesalahan selama eksekusi fungsi, sistem tidak melaporkan kesalahan ke Function Compute. Dalam hal ini, logika bisnis mungkin tidak terpengaruh, tetapi observabilitas Function Compute terpengaruh. Gambar berikut memberikan contoh.image8hanshujisuanruntime
  • Jika Anda menentukan nilai untuk bidang x-fc-status, sistem melaporkan kegagalan pemanggilan fungsi ke Function Compute menggunakan bidang x-fc-status. Jika terjadi kesalahan selama pemanggilan fungsi, sistem mencatat informasi tumpukan kesalahan dalam log. Gambar berikut memberikan contoh.image9runtimefc
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 400 dan kode kesalahan InvalidArgument jika 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

        null

        Untuk 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 502 dan kesalahan BadResponse:

      • 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.

FAQ