All Products
Search
Document Center

Function Compute:Konfigurasikan pemicu HTTP

Last Updated:Mar 15, 2026

Function Compute mendukung pemicu HTTP. Anda dapat memanggil fungsi yang memiliki pemicu HTTP dengan mengirimkan permintaan HTTP. Fungsi tersebut memproses permintaan dan mengembalikan hasilnya kepada pemanggil. Topik ini menjelaskan cara mengonfigurasi pemicu HTTP di Konsol Function Compute dan mengujinya dengan permintaan HTTP.

Prasyarat

Buat fungsi

Langkah 1: Buat pemicu

  1. Masuk ke Konsol Function Compute. Di panel navigasi kiri, pilih Function Management > Functions.

  2. Di bilah navigasi atas, pilih wilayah. Pada halaman Functions, klik fungsi yang dituju.

  3. Di halaman detail fungsi, klik tab Trigger, lalu klik Create Trigger.

  4. Di panel Create Trigger, konfigurasikan parameter, lalu klik OK.

    Configuration Item

    Operation

    Example

    Trigger Type

    Pilih HTTP Trigger.

    HTTP Trigger

    Name

    Masukkan nama kustom untuk pemicu.

    http-trigger

    Version or Alias

    Nilai default-nya adalah LATEST. Jika Anda ingin membuat pemicu untuk versi atau alias lain, Anda harus terlebih dahulu memilih versi atau alias tersebut dari daftar drop-down Version or Alias di halaman detail fungsi. Untuk informasi selengkapnya tentang versi dan alias, lihat Version management dan Alias management.

    LATEST

    Request Method

    Tentukan metode yang dapat digunakan untuk memicu pemicu HTTP.

    GET, POST, PUT, DELETE

    Disable Internet URL

    Fitur ini dinonaktifkan secara default. Artinya, pemicu dapat diakses melalui titik akhir publiknya.

    Jika Anda mengaktifkan fitur ini, tidak akan disediakan titik akhir publik default untuk pemicu HTTP. Jika Anda kemudian mencoba memanggil fungsi menggunakan titik akhir publik, pesan kesalahan access denied due to function internet URL is disable akan dikembalikan. Akses melalui nama domain kustom tidak terpengaruh.

    No

    Authentication Method

    Pilih metode autentikasi untuk Function Compute agar dapat mengotentikasi permintaan HTTP. Nilai berikut tersedia:

    No authentication

    Setelah pemicu dibuat, Anda dapat mengubah konfigurasinya, seperti Version or Alias, Request Method, dan Authentication Method.

Langkah 2: Tulis dan deploy kode

Setelah membuat pemicu HTTP, tulis kode fungsi.

Di halaman detail fungsi, klik tab Code. Tulis kode di editor kode, lalu klik Deploy. Untuk contoh kode, lihat dokumentasi penanganan untuk berbagai runtime di bagian pada dokumentasi Function Compute.

Langkah 3: Uji fungsi

Metode 1: Gunakan konsol untuk menguji fungsi

Di halaman Function Details, klik tab Code.

  • Pemanggilan sinkron

    Klik Test Function.

  • Pemanggilan asinkron

    Klik ikon down di sebelah kanan Test Function, pilih Async Invocation, lalu klik Test Function.

Setelah eksekusi selesai, lihat hasilnya di tab Code.

Metode 2: Gunakan cURL untuk menguji fungsi

  1. Di halaman detail fungsi, klik tab Trigger. Di kolom Configurations pemicu HTTP yang dituju, dapatkan titik akhir publik.

    image

  2. Jalankan perintah cURL di command line untuk menguji fungsi.

    Pemanggilan sinkron

    Berikut contohnya. Ganti https://example.cn-shenzhen.fcapp.run dengan titik akhir publik pemicu HTTP yang Anda peroleh pada langkah sebelumnya. Ganti $path dengan nama operasi API yang ingin Anda panggil.

    curl -v https://example.cn-shenzhen.fcapp.run/$path
    Catatan
    • Panggil fungsi web: Ambil Flask sebagai contoh. Untuk menguji fungsi Python yang rutenya didefinisikan sebagai @app.route('/test'), ganti $path dengan test. Untuk menguji fungsi Python yang rutenya didefinisikan sebagai @app.route('/'), langsung panggil titik akhir publik pemicu HTTP.

    • Panggil fungsi event: Langsung panggil titik akhir publik pemicu HTTP.

    Setelah eksekusi selesai, Function Compute mengembalikan hasil eksekusi kode.

    Pemanggilan asinkron

    Berikut contohnya. Ganti https://example.cn-shenzhen.fcapp.run dengan titik akhir publik pemicu HTTP Anda. Ganti $path dengan nama operasi API yang ingin Anda panggil.

    curl -v -H "X-Fc-Invocation-Type: Async" https://example.cn-shenzhen.fcapp.run/$path
    Catatan
    • Panggil fungsi web: Ambil Flask sebagai contoh. Untuk menguji fungsi Python yang rutenya didefinisikan sebagai @app.route('/test'), ganti $path dengan test. Untuk menguji fungsi Python yang rutenya didefinisikan sebagai @app.route('/'), langsung panggil titik akhir publik pemicu HTTP.

    • Panggil fungsi event: Langsung panggil titik akhir publik pemicu HTTP.

    Setelah eksekusi selesai, Function Compute mengembalikan hasil penerimaan permintaan. Kode status 202 menunjukkan bahwa permintaan berhasil dikirimkan, sedangkan kode status lain menunjukkan terjadi kesalahan selama pemanggilan. Untuk informasi lebih lanjut tentang penyebab spesifik kode kesalahan, lihat FAQ (Troubleshooting).

Metode 3: (Tidak direkomendasikan) Gunakan browser untuk menguji fungsi

  1. Di halaman detail fungsi, klik tab Trigger. Di kolom Configurations pemicu HTTP yang dituju, dapatkan titik akhir publik. Masukkan titik akhir ini di bilah alamat browser Anda, lalu tekan Enter.

  2. Setelah eksekusi selesai, browser mengembalikan file yang berisi hasil eksekusi.

(Opsional) Gunakan API Gateway untuk melindungi fungsi

Function Compute memungkinkan akses anonim ke fungsi HTTP, artinya siapa pun dapat mengirim permintaan HTTP untuk memanggil fungsi Anda. Untuk mencegah pemborosan sumber daya dan risiko keamanan akibat akses tidak sah, aktifkan otentikasi identitas dan hubungkan fungsi HTTP Anda ke API Gateway. Anda dapat menggunakan plugin kontrol akses berbasis IP, plugin autentikasi JWT, atau plugin autentikasi dasar dari API Gateway untuk melindungi fungsi HTTP Anda.

  1. Di Konsol Function Compute, temukan fungsi yang dituju. Di halaman detail fungsi, klik tab Trigger. Di kolom Actions pemicu HTTP yang dituju, klik Modify.

  2. Di panel Edit Trigger, aktifkan sakelar Disable Internet URL.

  3. Masuk ke Konsol API Gateway dan beralih ke wilayah tempat fungsi HTTP berada.

  4. Buat grup dan API.

    Buat API untuk memungkinkan aplikasi eksternal memanggil layanan fungsi internal dengan cara tertentu. Gunakan grup API untuk mengorganisasi dan mengelola beberapa operasi API terkait. Hal ini mempermudah penerapan kebijakan keamanan terpadu dan pengaturan trafik.

    1. Di Konsol API Gateway, pilih Manage APIs > API Groups di panel navigasi kiri. Lalu, klik Create Group.

    2. Di kotak dialog Create Group, pilih Instances:. Atur Group Name menjadi FC-Group dan BasePath menjadi /. Lalu, klik Confirm.

    3. Di kolom Actions grup yang dituju, klik Manage APIs. Lalu, klik Create API. Di bagian Basic Information, konfigurasikan parameter berikut dan klik Next.

      image

    4. Di bagian Define API Request, atur Request Path menjadi /, pertahankan nilai default untuk parameter lain, lalu klik Next.

      image

    5. Di bagian Define Backend Service, atur Trigger Path menjadi titik akhir pribadi pemicu Function Compute, yaitu https://example.cn-hangzhou-vpc.fcapp.run. Konfigurasikan parameter seperti yang ditunjukkan pada gambar, lalu klik Next.

      image

    6. Di bagian Define Response, pertahankan konfigurasi default dan klik Create. Setelah API dibuat, klik Publish di kolom Actions API tersebut.

  5. Debug API. Gunakan alat debugging online yang disediakan oleh API Gateway untuk menguji apakah API berfungsi sesuai harapan sebelum dipublikasikan. Hal ini membantu Anda mengidentifikasi dan menyelesaikan masalah dengan cepat. Jika debugging berhasil, berarti API Gateway telah terhubung ke Function Compute.

    1. Di Konsol API Gateway, pilih Call APIs > Debug di panel navigasi kiri.

    2. Di halaman Debug, pilih API FC-test yang telah Anda buat dan klik Send Request. Jika informasi seperti pada gambar berikut dikembalikan, konfigurasi berhasil.

      image

  6. Buat plugin jenis Backend Signature. Atur key menjadi AccessKey ID Anda dan secret menjadi AccessKey secret Anda. Lalu, bind plugin tersebut ke API yang telah Anda buat. Untuk informasi selengkapnya, lihat Plug-in overview.

    image

  7. Lakukan resolusi nama domain Anda ke domain tingkat kedua yang disediakan oleh API Gateway menggunakan rekaman CNAME.

    1. Di Konsol API Gateway, pilih Manage APIs > API Groups di panel navigasi kiri. Salin domain tingkat kedua publik.image

    2. Buka halaman manajemen resolusi nama domain Anda. Untuk Alibaba Cloud, halaman manajemen resolusi nama domain berada di https://dnsnext.console.alibabacloud.com. Di halaman daftar domain, temukan domain yang ingin Anda kelola dan klik tautan pada nama domain tersebut untuk membuka halaman manajemennya.

      Catatan

      Nama domain independen di Tiongkok daratan harus memiliki Pendaftaran ICP dari Alibaba Cloud atau mentransfer Pendaftaran ICP-nya ke Alibaba Cloud.

    3. Di Konsol API Gateway, pilih Manage APIs > API Groups di panel navigasi kiri. Buka bagian Independent Domains. Di pojok kanan bawah halaman, temukan tombol untuk bind domain. Klik tombol tersebut, masukkan nama domain Anda, lalu klik OK. Nama domain berhasil di-bind.

      image

Setelah menyelesaikan langkah-langkah ini, Anda dapat mengakses fungsi HTTP melalui nama domain Anda sendiri. Anda juga dapat membuat dan mengikat plugin berikut ke API Anda untuk melindungi fungsi HTTP Anda.

Atasi kesalahan

Kesalahan terbagi menjadi dua kategori utama.

  • Kesalahan permintaan terjadi ketika permintaan yang dikirim tidak memenuhi standar yang ditentukan. Kode status 4xx dikembalikan dalam tanggapan.

  • Kesalahan fungsi terjadi ketika terdapat masalah pada kode fungsi. Kode status 5xx dikembalikan.

Tabel berikut menjelaskan skenario di mana kesalahan permintaan dan kesalahan fungsi dapat terjadi untuk membantu Anda mengatasi masalah dengan cepat.

Error Type

HTTP Status Code

Cause Analysis

Billed

Request error

400

Permintaan Anda melebihi batas permintaan. Untuk informasi selengkapnya, lihat HTTP trigger overview.

No

400

Permintaan untuk memanggil fungsi yang memerlukan autentikasi tidak berisi informasi Date atau Authorization.

No

403

Signature permintaan untuk memanggil fungsi yang memerlukan autentikasi salah. Artinya, Authorization salah. Karena Date digunakan dalam perhitungan tanda tangan dan tanda tangan hanya berlaku selama 15 menit, tanda tangan tersebut dapat kedaluwarsa. Penyebab umumnya adalah Date yang dikirim dalam header permintaan untuk pemicu HTTP yang memerlukan autentikasi berbeda lebih dari 15 menit dari waktu saat ini, sehingga tanda tangan kedaluwarsa.

No

403

Permintaan Anda menggunakan metode permintaan yang tidak dikonfigurasi dalam pemicu HTTP. Misalnya, pemicu HTTP dikonfigurasi hanya menerima permintaan GET, tetapi permintaan POST dikirim.

No

404

Permintaan HTTP dikirim ke fungsi yang tidak memiliki pemicu HTTP.

No

User throttling

429

Anda mengalami pembatasan kecepatan. Anda dapat mengurangi tingkat konkurensi atau menghubungi tim pengembang Function Compute untuk meningkatkan batas konkurensi Anda.

No

Function error

502

Nilai kembali fungsi melebihi batas respons. Untuk informasi selengkapnya, lihat HTTP trigger overview.

Yes

502

Kode fungsi memiliki kesalahan sintaksis atau exception.

Yes

502

Permintaan HTTP dikirim ke fungsi yang tidak menggunakan penanganan HTTP.

Yes

System error

500

Function Compute mengalami kesalahan sistem. Anda dapat mencoba kembali operasi tersebut.

No

System throttling

503

Kesalahan pembatasan kecepatan sistem Function Compute. Anda dapat mencoba lagi dengan mode exponential backoff.

No

Jika masalah berlanjut, bergabunglah dengan grup DingTalk (ID: 64970014484) untuk menghubungi insinyur Function Compute guna mendapatkan dukungan..