All Products
Search
Document Center

Function Compute:Penanganan event

Last Updated:Mar 01, 2026

Dalam runtime kustom, server HTTP Anda menangani pemanggilan berbasis event melalui titik akhir <code code-type="xCode" data-tag="code">POST /invoke. Function Compute meneruskan muatan event dan header umum ke titik akhir ini, dan server Anda mengembalikan hasilnya sebagai badan respons.

image

Mulai cepat

Contoh Flask berikut pada Python 3.10 menunjukkan penanganan event minimal:

from flask import Flask, request

REQUEST_ID_HEADER = 'x-fc-request-id'

app = Flask(__name__)

@app.route("/invoke", methods=["POST"])
def handler():
    # Ekstrak ID permintaan dari header umum
    rid = request.headers.get(REQUEST_ID_HEADER)
    print("FC Invoke Start RequestId: " + rid)

    # Baca muatan event
    data = request.stream.read()
    print(str(data))

    print("FC Invoke End RequestId: " + rid)
    # Kembalikan badan respons
    return "Hello, World!"

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=9000)

Poin-poin penting:

  • @app.route("/invoke", methods=["POST"]) mendaftarkan penanganan untuk path <code code-type="xCode" data-tag="code">POST /invoke.

  • <code code-type="xCode" data-tag="code">request.headers.get(REQUEST_ID_HEADER) membaca ID permintaan dari header umum.

  • <code code-type="xCode" data-tag="code">request.stream.read() membaca muatan event dari badan permintaan.

  • <code code-type="xCode" data-tag="code">return "Hello, World!" mengirimkan kembali badan respons ke pemanggil.

Cara kerja

Saat suatu fungsi dipanggil, Function Compute mengarahkan permintaan ke server HTTP Anda dalam tiga langkah:

  1. Function Compute mengirimkan muatan event sebagai badan permintaan ke POST /invoke pada server HTTP Anda, bersama dengan header umum yang membawa konteks waktu proses (ID permintaan, nama fungsi, kredensial, dan lainnya).

  2. Server HTTP Anda memproses event dan menjalankan logika bisnis Anda.

  3. Server Anda mengembalikan hasil sebagai badan respons. Function Compute mengirimkan badan ini ke pemanggil.

Function Compute juga mengirimkan permintaan POST /initialize saat instans baru dimulai. Implementasikan path ini jika fungsi Anda memerlukan logika inisialisasi satu kali seperti memuat model atau membuat koneksi database.

Spesifikasi permintaan dan respons

Permintaan

ComponentDetail
Metode dan path<code code-type="xCode" data-tag="code">POST /invoke
HeaderHeader umum, termasuk x-fc-request-id, metadata fungsi, dan kredensial temporary.
BodyInput fungsi — muatan yang ditentukan saat memanggil API InvokeFunction.
Content-Type<code code-type="xCode" data-tag="code">application/octet-stream

Respons

Kembalikan hasil fungsi sebagai badan respons. Pemanggil menerima badan ini sebagai output pemanggilan.

Penting

Penanganan event hanya mengembalikan badan respons. Kode status dan header respons diabaikan. Sebagai contoh, jika penanganan Flask Anda mengembalikan <code code-type="xCode" data-tag="code">return "Hello, World!", 400, [('Author', 'Aliyun-FC')], kode status 400 dan header Author tidak berlaku.

Contoh untuk bahasa lain

Anda dapat menggunakan Serverless Devs untuk memigrasikan aplikasi Anda ke Function Compute hanya dengan beberapa klik. Contoh berikut menunjukkan cara menggunakan Serverless Devs untuk mendeploy dan memanggil fungsi secara efisien. Anda dapat memodifikasi kode contoh sesuai kebutuhan bisnis Anda.

FAQ