全部产品
Search
文档中心

Function Compute:Konfigurasi pemicu HTTP

更新时间:Nov 11, 2025

Function Compute mendukung pemicu HTTP yang memungkinkan Anda memanggil fungsi melalui permintaan HTTP. Fungsi tersebut memproses permintaan HTTP dan mengembalikan hasilnya. Topik ini menjelaskan cara mengonfigurasi pemicu HTTP di konsol Function Compute serta menggunakannya untuk memanggil fungsi.

Prasyarat

Buat fungsi

Langkah 1: Buat pemicu

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

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

  3. Di halaman detail fungsi, pada tab Triggers, klik Create Trigger.

  4. Di panel Buat Pemicu, konfigurasikan parameter, lalu klik OK.

    Item konfigurasi

    Operasi

    Contoh

    Trigger Type

    Pilih HTTP Trigger.

    HTTP Trigger

    Name

    Masukkan nama pemicu kustom.

    http-trigger

    Version Or Alias

    Nilai default adalah LATEST. Untuk membuat pemicu untuk versi atau alias lain, Anda harus terlebih dahulu memilih versi tersebut di halaman detail fungsi dari daftar drop-down Version Or Alias. Untuk gambaran umum tentang versi dan alias, lihat Mengelola versi dan Mengelola alias.

    LATEST

    Request Methods

    Tentukan metode yang dapat memicu pemicu HTTP ini.

    GET, POST, PUT, DELETE

    Disable Internet URL

    Secara default, opsi ini dinonaktifkan, sehingga pemicu dapat diakses dari nama domain publik.

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

    Tidak

    Authentication Method

    Pilih metode yang digunakan Function Compute untuk mengotentikasi permintaan HTTP. Nilai berikut tersedia:

    Tanpa Otentikasi

    Setelah membuat pemicu, Anda dapat memodifikasi item konfigurasinya, seperti Version or Alias, Request Methods, dan Authentication Method.

Langkah 2: Tulis dan deploy kode

Setelah membuat pemicu HTTP, Anda dapat menulis kode fungsi.

Di halaman detail fungsi, klik tab Code. Di editor kode, tulis kode Anda, lalu klik Deploy Code. Untuk contoh kode, lihat dokumentasi penanganan untuk berbagai waktu proses di bagian User Guide > Code Development dalam 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 samping Test Function dan pilih Async Invocation. Lalu, klik Test Function.

Setelah eksekusi selesai, Anda dapat melihat hasilnya di tab Code.

Metode 2: Gunakan cURL untuk menguji fungsi

  1. Di halaman detail fungsi, klik tab Triggers. Di kolom Configuration Information untuk pemicu HTTP, dapatkan titik akhir publik.

    image

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

    Panggilan sinkron

    Berikut adalah 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: Untuk aplikasi Flask, jika rute fungsi Python didefinisikan sebagai @app.route('/test'), ganti $path dengan test. Jika rute didefinisikan sebagai @app.route('/'), panggil langsung titik akhir publik pemicu HTTP.

    • Panggil fungsi event: Panggil langsung titik akhir publik pemicu HTTP.

    Setelah perintah dieksekusi, Function Compute mengembalikan hasil eksekusi kode.

    Pemanggilan asinkron

    Berikut adalah 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: Untuk aplikasi Flask, jika rute fungsi Python didefinisikan sebagai @app.route('/test'), ganti $path dengan test. Jika rute didefinisikan sebagai @app.route('/'), panggil langsung titik akhir publik pemicu HTTP.

    • Panggil fungsi event: Panggil langsung titik akhir publik pemicu HTTP.

    Setelah perintah dieksekusi, Function Compute mengembalikan hasil penerimaan permintaan. Kode status 202 menunjukkan bahwa permintaan berhasil dikirim. Kode status lain menunjukkan terjadinya kesalahan selama pemanggilan. Untuk informasi lebih lanjut tentang penyebab kode kesalahan, lihat FAQ (Pemecahan Masalah).

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

  1. Di halaman detail fungsi, klik tab Triggers. Di kolom Configuration Information pemicu HTTP yang dituju, dapatkan titik akhir publik. Masukkan titik akhir ini ke bilah alamat browser Anda dan tekan Enter.

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

(Opsional) Gunakan API Gateway untuk melindungi fungsi

Function Compute mendukung akses anonim untuk permintaan HTTP. Artinya, siapa pun dapat mengirim permintaan HTTP untuk memanggil fungsi Anda. Untuk mencegah pengguna yang tidak sah mengakses fungsi Anda—yang dapat menyebabkan konsumsi sumber daya berlebih atau risiko keamanan—Anda dapat mengaktifkan otentikasi identitas dan mengintegrasikan fungsi HTTP Anda dengan API Gateway. Anda juga dapat menggunakan plugin API Gateway, seperti plugin kontrol akses IP, plugin otentikasi JWT, atau plugin BasicAuth, untuk melindungi fungsi HTTP Anda.

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

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

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

  4. Buat grup dan API.

    Anda dapat membuat API untuk memungkinkan aplikasi eksternal memanggil layanan fungsi internal dengan cara tertentu. Grup API dapat digunakan untuk mengatur dan mengelola beberapa operasi API terkait, sehingga mempermudah penerapan kebijakan keamanan terpadu dan langkah-langkah pembentukan lalu lintas.

    1. Di Konsol API Gateway, di panel navigasi sebelah kiri, pilih API Management > Group Management. Klik Create Group.

    2. Di kotak dialog Create Group, pilih Instance. Atur Group Name menjadi FC-Group dan BasePath menjadi /. Lalu, klik OK.

    3. Di kolom Actions grup yang dituju, klik API Management. Lalu, klik Create API. Di tab Basic Information, konfigurasikan informasi berikut dan klik Next.

      image

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

      image

    5. Di tab Define API Backend Service, atur Trigger Path menjadi titik akhir internal pemicu Function Compute, misalnya https://example.cn-hangzhou-vpc.fcapp.run. Konfigurasikan pengaturan seperti yang ditunjukkan pada gambar dan klik Next.

      image

    6. Di tab Define Response, pertahankan konfigurasi default dan klik Create. Setelah API dibuat, klik Publish di kolom Tindakan API.

  5. Debug API. Sebelum mempublikasikan API, Anda dapat menggunakan alat debugging online yang disediakan oleh API Gateway untuk menguji apakah API berfungsi sesuai harapan. Hal ini membantu Anda menemukan dan menyelesaikan masalah secara tepat waktu. Jika debugging berhasil, API Gateway terhubung ke Function Compute.

    1. Di Konsol API Gateway, di panel navigasi sebelah kiri, pilih API Calling > Debug.

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

      image

  6. Buat plugin jenis Backend Signature. Atur key dan secret menjadi AccessKey ID dan AccessKey Secret akun Alibaba Cloud Anda. Lalu, ikat plugin tersebut ke API yang telah Anda buat. Untuk informasi selengkapnya, lihat Ikhtisar plugin.

    image

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

    1. Di Konsol API Gateway, di panel navigasi sebelah kiri, pilih API Management > Group Management. Salin domain tingkat kedua publik.image

    2. Buka halaman manajemen resolusi nama domain Anda. Konsol DNS Alibaba Cloud tersedia di https://dnsnext.console.alibabacloud.com. Di daftar nama domain, temukan nama domain yang ingin Anda kelola dan klik nama domain tersebut untuk membuka halaman manajemen.

      Catatan

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

    3. Di Konsol API Gateway, di panel navigasi sebelah kiri, pilih API Management > Group Management. Buka bagian Independent Domain. Di pojok kanan bawah halaman, klik tombol untuk mengikat nama domain. Masukkan nama domain Anda dan klik OK. Nama domain telah diikat.

      image

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

Pemecahan Masalah

Kesalahan dibagi menjadi dua jenis 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 memecahkan masalah dengan cepat.

Jenis kesalahan

Kode status HTTP

Analisis penyebab

Ditagih

Kesalahan permintaan

400

Permintaan Anda melebihi batas permintaan. Untuk informasi selengkapnya, lihat Ikhtisar pemicu HTTP.

Tidak

400

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

Tidak

403

Tanda tangan permintaan untuk memanggil fungsi yang memerlukan otentikasi identitas tidak valid. Artinya, informasi Authorization salah. Date merupakan bagian dari perhitungan tanda tangan, dan tanda tangan kedaluwarsa setelah 15 menit. Penyebab umum kesalahan ini adalah menggunakan pemicu HTTP yang memerlukan otentikasi akses, tetapi Date dalam header permintaan lebih dari 15 menit di masa lalu. Hal ini membuat tanda tangan tidak valid.

Tidak

403

Permintaan menggunakan metode yang tidak dikonfigurasi dalam pemicu HTTP. Misalnya, kesalahan ini terjadi jika Anda mengirim permintaan HTTP menggunakan metode POST, tetapi hanya metode GET yang dikonfigurasi dalam pemicu HTTP.

Tidak

404

Permintaan HTTP dikirim ke fungsi yang tidak memiliki pemicu HTTP yang dikonfigurasi.

Tidak

Pengendalian aliran pengguna

429

Lalu lintas pengguna dikendalikan. Kurangi jumlah permintaan konkuren atau hubungi tim pengembang Function Compute untuk meningkatkan batas konkurensi.

Tidak

Kesalahan fungsi

502

Nilai kembali fungsi melebihi batas tanggapan. Untuk informasi selengkapnya, lihat Ikhtisar pemicu HTTP.

Ya

502

Kode fungsi memiliki kesalahan sintaksis atau pengecualian.

Ya

502

Permintaan HTTP dikirim ke fungsi yang tidak menggunakan penanganan HTTP.

Ya

Kesalahan sistem

500

Terjadi kesalahan sistem Function Compute. Ulangi operasi.

Tidak

Pengendalian aliran sistem

503

Function Compute mengalami pengendalian aliran sistem. Ulangi dengan backoff eksponensial.

Tidak

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